我一直在努力解决这个问题,希望它可以帮助别人。
在使用 MsTest 创建单元测试时,我发现我在每个测试中都重复了相同的代码,并发现了一些方便的属性(TestInitialize
、TestCleanup
、ClassInitialize
和ClassCleanup
)。
假设,当您使用这些属性之一标记方法时,它应该自动执行(分别在每个测试之前、每个测试之后、所有测试之前和所有测试之后)。令人沮丧的是,这并没有发生,我的测试也失败了。TestMethod
如果直接从带有属性标记的类中调用这些方法,则测试成功。很明显他们不是自己执行的。
这是我使用的一些示例代码:
[TestInitialize()]
private void Setup()
{
_factory = new Factory();
_factory.Start();
}
那么为什么这没有执行呢?