之前有没有人见过这种奇怪的行为?
有没有人遇到这种奇怪的情况?我猜猜Cruise Control.NET和MSTest还有一些奇怪的事情发生了吗?
答案 0 :(得分:1)
当然,您的单元测试运行器会生成一个显示完全异常消息或错误的良好日志?猜测它有点毫无意义,但是“拒绝访问”类型的错误将是一个明显的候选人。设置你使用的任何dbase引擎(你也忘了提到它)给用户帐户运行测试对build grunt访问表。
答案 1 :(得分:0)
正如另一个答案所说,当有详细的日志时,猜测它并没有多大意义......
但是因为我曾多次遇到过这种情况,所以无论如何都是猜测: CI服务器用于运行测试的帐户可能在数据库中没有适当的权限。这也可以解释为什么手动运行(然后使用您的用户帐户)同样的测试成功...
HTH! 托马斯
答案 2 :(得分:0)
感谢您的输入,但它根本与证书无关。 我发现在该特定的测试之前运行的其他测试使我的单元测试数据库处于不一致状态,因此导致测试错误。 让你的单元测试依赖于数据并不是一个好习惯,所以除非你像我一样非常受限于此,否则这是对每个人的推荐:不要依赖数据做你的单元测试!!!!确保你拥有所有好的东西,特别是一个好的IOC /依赖注入器容器,这样你的类就可以松散耦合了,你可以模拟任何你想要轻松进行单元测试的界面!
答案 3 :(得分:0)
如果您要在构建服务器上运行系统测试,或者通常希望能够在任何计算机(包括您自己的计算机)上正确运行,那么您必须确保它们的状态是独立的。
在您的情况下,您应该让每个测试初始化准备它使用的数据库(通过复制基于文件的数据库或清空/填充基于服务的数据库)。每个测试还应尝试撤消其更改(删除文件或空DB),但不要假设其他测试已成功完成。