Visual Studio 2010 为我生成了一堆看起来很方便的单元测试,但我怀疑它们是否是实际的单元测试。例如,它生成了一个名为 SaveTest 的测试,它执行以下代码:
User user = new User(); //I have to create a user
user.Save(); //This saves the user to the database.
//Assertions here....
我上面遇到的问题是,根据我的阅读,单元测试应该在隔离中测试事物,因此通过测试保存到数据库,这不是单元测试或者我错了,MsTest 弄错了吗?作为旁注,用户是由 dbml 生成的,并在我的 DataContext 上保存调用 SubmitChanges。
最佳答案
如果您已经完成必要的工作来隔离依赖项,那么自动生成的测试只是单元测试,这样带有副作用的调用可以路由到适当的模拟或 stub 依赖项以感知所需的效果。这些工具不会完成构建代码以支持单元测试的工作;他们所能做的就是创建对各种公共(public)接入点的调用。您还必须为每个测试安排依赖状态并断言您希望检查的条件。
关于c# - MsTest 生成的测试是实际的单元测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3736716/