1

我尝试将一些单元测试与我们的 TFS 2010 CI 构建过程集成/自动化,并在测试失败时收到这个奇怪的错误消息。

在花了一些时间试图找出根本原因之后,我将代码简化为几行:

如果我做类似的事情

Book b = new Book { ID = 1, Name = "test book" };
Category c = new Category { ID = 1, Name = "test category" };

Assert.AreEqual(1,1);

那么一切都很好。但如果我这样做:

Book b = new Book { ID = 1, Name = "test book" };
Category c = new Category { ID = 1, Name = "test category" };

b.Category = c;

Assert.AreEqual(1,1);

单元测试将失败,并显示“测试运行时代理进程已停止”消息。

如果我在本地机器上单独运行测试,这两个版本都可以正常工作。

我查看构建服务器上的事件查看器并看到以下内容:

Faulting application name: QTAgent32.exe, version: 10.0.30319.1, time stamp: 0x4ba20efb
Faulting module name: System.Data.Entity.ni.dll, version: 4.0.30319.1, time stamp: 0x4ba1e2fd
Exception code: 0xc00000fd
Fault offset: 0x0029ffae
Faulting process id: 0x484
Faulting application start time: 0x01cd74e84f30a93b
Faulting application path: c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\QTAgent32.exe
Faulting module path: C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Data.Entity\7aa839fb16503243d6ae454ab334bcf4\System.Data.Entity.ni.dll
Report Id: 8d4222b0-e0db-11e1-8dbe-005056a3481b

这里有人见过这种奇怪的行为吗?

编辑:我使用的是 EF 4.0,数据库优先模型,因此所有实体类都是使用 ADO.NET 实体数据模型模板创建的。

4

0 回答 0