MsTest的测试是否会产生实际的单元测试?

Xai*_*oft 2 c# unit-testing mstest visual-studio-2010

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....
Run Code Online (Sandbox Code Playgroud)

我上面的问题是,从我所读到的,单元测试应该在隔离中测试,所以通过测试保存到数据库,这不是单元测试或我错了,MsTest是否错了?作为旁注,User由dbml和Save calles SubmitChanges在我的DataContext上生成.

Dan*_*ant 9

如果您已经完成了隔离依赖关系的必要工作,那么自动生成的测试只是单元测试,因此带有副作用的调用可以路由到适当的模拟或存根依赖关系,以感知所需的效果.这些工具不会用于构建代码以支持单元测试; 他们所能做的就是创建对各种公共接入点的呼叫.您还需要为每个测试安排依赖状态并断言您想要检查的条件.