.NET测试框架测评

最近用了xUnit.net,结构简洁。用[Fact]标记无参测试方法,用[Theory]标记有参测试方法并用[InlineData]提供参数。而且,xUnit.net可以使用静态类作为测试类。这使得编写简洁的测试代码成为可能。

美中不足是xUnit的断言除了Assert.True()Assert.False()以外,都不接受自定义错误消息。当在持续集成服务器上出错,且本地无法重现时,根本无法知晓到底具体的出错情况。

xUnit.net团队坚持认为不应添加自定义消息。[1]. Add Assert.Equal(expected, actual, message) overload. . 2015-03-10 [2018-06-05].

文档不丰富。

MS Test

MS Test和NUnit一样,都要用特性标记测试类和测试方法,但测试类必须是非静态类[2]Tina-Shi. Test explorer doesn't show static test methods. . 2015-07-15 [2018-06-06].。广泛支持自定义错误消息。

MS Test早期是Visual Studio里的一个组件,文档里称之为Visal Studio单元测试,这把单元测试的基本概念和单元测试框架混淆,导致现在搜索MS Test很不方便。

   [ + ]

1. . Add Assert.Equal(expected, actual, message) overload. . 2015-03-10 [2018-06-05].
2. Tina-Shi. Test explorer doesn't show static test methods. . 2015-07-15 [2018-06-06].

发表评论

电子邮件地址不会被公开。

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)