考虑以下测试类:
[TestClass] public class ExampleTests { [TestMethod] public void FileDoesNotExists() { Assert.IsFalse(System.IO.File.Exists("testfile.txt")); } [TestMethod] [DeploymentItem("testfile.txt")] public void FileExists() { Assert.IsTrue(System.IO.File.Exists("testfile.txt")); } }
根据这些测试运行的顺序,它们可能会通过,但由于无法保证它们按照定义的顺序运行,因此现实世界的行为是不确定的……显然这很糟糕.
我已经环顾四周并尝试使用TestCleanupAttribute,但是无法找到一种可靠的方法来让两个测试都通过,但似乎应该有一个简单的方法来执行此操作.这种方法存在吗?
更新:这似乎是不可能的,因为测试框架假定DeploymentItems在部署后不会更改,因此只会部署每个项目一次.在短期内,我已经将测试中的代码更改为不再需要此行为,从长期来看,我很可能会实现一个不做出此假设的属性.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。