|   |      1 
                                  2
                             
   RoyOsherove在他的《单元测试的艺术》一书中谈到了这个问题。他也赞成在单元测试中只测试一个事实,但他指出,这并不总是意味着只有一个断言。在这种情况下,您正在测试
    但是,如果您真的想要分割断言(例如,如果您正在测试需要类似设置但逻辑上不相同的各个方面),那么您可以这样做,而不需要太多的努力: 
   也可以说,由于这些测试需要相同的设置,它们应该有自己的夹具,并有一个
    | 
|   |      2 
                                  3
                             对我来说,这似乎也很极端,这就是为什么我还为每个测试编写多个断言的原因。我已经有了500个测试,每个测试只写一个断言就可以将其放大到至少2500个,而我的测试需要10分钟才能运行。 由于一个优秀的REST运行者(如Resharper)可以让您看到测试很快失败的线路,所以您仍然可以很容易地理解为什么测试失败。如果您不介意额外的工作,您还可以添加断言描述(“断言工资单编号正确”),这样您甚至可以在不查看源代码的情况下看到这一点。有了这一点,每个测试只剩下一个断言就没有什么理由了。 | 
|   |      3 
                                  1
                             我使用一个助手类来包含断言。这使测试方法保持整洁,并将重点放在它们实际试图建立的内容上。它看起来像:  | 
|  | wavesinaroom · 断言结构向量长度 9 月前 | 
|   | Jace Johnson · Typescript文件读取的变量类型错误 10 月前 | 
|   | Tim Kirkwood · 比较空数据帧 10 月前 | 
|   | Kamran Khan · 使用单元测试ASP。NET核心 1 年前 | 
|   | paymer · 为什么我的代码没有删除我的单元测试生成的zip文件? 1 年前 | 
|   | Ricky Mo · 角度测试如何模拟导入的const 1 年前 | 
|   | Natty · Visual Studio中缺少“代码覆盖率结果” 1 年前 |