我们有以下设置:Visual Studio的差异,当在Visual Studio和构建服务器上运行测试
- 的Visual Studio 2012/SQL Server 2012的
- TFS 2010年,构建服务器自动运行单元测试的构建。
- 与大量的代码和2个测试项目中的溶液(以便在构建时2个独立的组件),测试用Visual Studio的单元测试框架完成。
- 的第一组件包含了所有实际的单元测试,他们也都运行正常。在大多数测试中,我们在db中写入一些数据,运行一些代码,然后清理数据。
- 我们使用第二个程序集进行数据库播种。由于测试和集被加载/按字母 顺序执行,我们在第二组件的名称以 “Z”开头的测试(集名称也开始与“Z”)。构建服务器日志 也确认Z测试是最后执行的。所以这个测试 只写入数据库中的一些数据。我们更喜欢这个播种与使用DB项目 由于现有的基础设施, 读取Excel文件数据,并写入到SQL Server。
问题是,当我们在我们的开发机器上运行所有测试时,Z测试最后执行,并且种子数据保留在数据库中。当在构建服务器上执行测试时,Z测试也会最后执行,但数据不会保留在数据库中。
按照SQL Server Profiler中,插入/创建表执行,所以数据都在我们的机器和构建服务器上的数据库得到,但在构建服务器上的一些删除/降查询后立即执行插入。我们无法分辨他们来自哪里。
我们试图运行只有Z测试组件和数据保留在数据库中。所以滴液必须由其他组件引起。但是如何?为什么visual studio和构建服务器运行测试的方式有所不同?
有没有人遇到过这样的事情?
我同意,但在这种情况下,我们只需要一种快速的方法来种子一些数据。这篇文章非常好,谢谢! – pax162 2013-02-11 09:47:07