0

亲爱的,我正在尝试运行我在 Gallio 下使用 MbUnit v2 开发的测试。所有这些都来自通过 TeamCity 启动的 NAnt 脚本(实际上是 TeamCity 的 CodeBetter 安装)。

测试在名为 Icarus 的 GUI Gallio Runner 内的本地机器上运行,但不是在运行器处于本地模式时,除非我指定“IsolatedAppDomain”或“IsolatedProcess”。

它还从 NAnt 内部本地运行。这是我使用的 nant 任务定义:

<gallio result-property="ExitCode" failonerror="true"> 
    <files> 
        <!-- Specify the tests files and assemblies --> 
        <include name="${source.dir}\UnitTests.Subtext\bin\debug\UnitTests.Subtext.dll" /> 
    </files> 
</gallio> 

但是,当我检查所有内容并从 TeamCity 运行它时,该过程失败并出现以下错误:

[16:08:39]: [test] gallio (9s) 
[16:08:39]: [gallio] Gallio NAnt Task - Version 3.2 build 601 
[16:08:39]: [gallio] Start time: 9:08 AM 
[16:08:40]: [gallio] Initializing test runner.' 
flowId='cf40ac56f24b5b47 
[16:08:40]: [gallio] Running tests.' flowId='cf40ac56f24b5b47 
[16:08:46]: UnitTests.Subtext (2s) 
[16:08:48]: [UnitTests.Subtext] failed 
[16:08:48]: [UnitTests.Subtext] 
The test assembly setup failed. 
[16:08:48]: [gallio] [failed] MbUnit v2 Assembly UnitTests.Subtext 
The test assembly setup failed. 
[16:08:48]: [gallio] Disposed test runner.' flowId='cf40ac56f24b5b47 
[16:08:48]: [gallio] Stop time: 9:08 AM (Total execution time: 9.267 
seconds) 
[16:08:48]: 
Test Execution Failed

我尝试将运行器类型更改为所有 3 个可用运行器(Local、IsolatedProcess、IsolatedAppDomain),但它没有运行。

Local:好像可以加载测试,但是没有找到测试,所以运行流畅(但没有执行测试),这也是我在本地机器上运行在Icarus时的默认行为

隔离进程,隔离应用域:我收到上面提到的错误。

鉴于我无法连接到机器并尝试手动运行测试,我真的不知道如何调试这个问题。知道可能是什么问题吗?

谢谢

西蒙娜

4

1 回答 1

1

找到了我的问题的答案:

The test assembly setup failed.

表示方法中带有该属性标签的程序集中带有该属性标签的代码[SetUp]失败AssemblyCleanup

在 MbUnit 中,您使用这些方法来执行一些预测试操作,例如设置数据库或其他类似的操作。在我的场景中,测试数据库的设置可能失败。

不幸的是,这是理解为什么它无法将调试器附加到它的唯一方法,这是我在 TeamCity 的托管版本上无法做到的。我想我必须改变创建数据库的方式。

于 2010-10-28T08:03:18.623 回答