【发布时间】:2022-08-12 03:33:47
【问题描述】:
我知道单元测试应该独立运行,并且永远不应该依赖于其他单元测试。
不过,我也写了一些集成测试使用 MSTest,有时它们会产生我想在另一个测试中重用的结果。
例如:
- 创建用户
- 从数据库中搜索此用户
- 删除用户
这些点中的每一个对我来说都是一个集成测试,所以我想编写如下所示的方法:
User _myNewUser; [TestMethod] public void CreateAUserTest() { //User gets created here somehow.... _myNewUser = successfullyCreatedUser; }这个测试应该在前面的测试之后运行:
User _myNewUser; [TestMethod] public void SearchingUserTest() { var user = searchUser(_newUser.GetName()); //Assert that user is not null }你可以看到我在第二个测试中使用了第一个测试的值。
通过播放列表,我可以确保两个测试都以正确的顺序运行。但是,在 VS 2022 中,每个测试都是单独执行的,所以我想做的事情不起作用。
如果我运行第二个测试,_newUser 始终为 null,即使第一个测试成功。- 总的来说,我的想法很糟糕吗?
- 如果不是:如何在另一个测试中使用测试生成的数据?
标签: integration-testing mstest visual-studio-2022