在许多单元测试教程中,标记测试方法的方法不同。我看到了这些选项:
[TestMethod]
[TestMethod()]
有什么区别?
答案 0 :(得分:12)
有和没有括号完全相同:
[TestMethod]
[TestMethod()]
空括号只调用那个没有参数的属性的默认构造函数。 [TestMethod]
也是如此。
两者都调用默认构造函数。
这会有所不同:
[TestMethod(SomeParameter)]
[Test]
是来自 NUnit 库的属性,与.Net [TestMethod]
属性不同。
答案 1 :(得分:1)
空括号是多余的,两行是等价的。 ReSharper等工具可以让您从代码中删除此冗余。
答案 2 :(得分:1)
[TestMethod]
[TestMethod()]
两者都相同但是当Visual Studio自动生成测试方法时,它附带[TestMethod()]