我在 gitlab CI 服务器上使用 dotMemory Unit Standalone 启动器来启动 XUnit 单元测试。
测试成功但进程在最后挂起然后测试被认为失败,因为它达到了超时。测试输出卡住前的结果
testing Test.Memory...
$ output\memorytools\dotMemoryUnit output\xunit.console.exe --work-dir=output --propagate-exit-code --no-instrumentation --no-auto-cleanup --no-updates --log-level=VERBOSE -- UbikeyOfficeVerticalUiTest.dll -namespace %TestNamespace% -html test_results.html -verbose -stoponfail
dotMemory Unit 3.0 part of 2017.3 build 111.0.20171219.95427. Copyright (C) 2015-2017 JetBrains s.r.o.
xUnit.net Console Runner (64-bit Desktop .NET 4.0.30319.42000)
Discovering: Test
Discovered: Test
Starting: Test
...
(test log)
...
Finished: Test
=== TEST EXECUTION SUMMARY ===
Test Total: 1, Errors: 0, Failed: 0, Skipped: 0, Time: 7.243s
我使用下面的命令gitlab-ci.yml
来启动测试
'output\memorytools\dotMemoryUnit output\xunit.console.exe --work-dir=output --propagate-exit-code --no-instrumentation --no-auto-cleanup --no-updates --log-level=VERBOSE -- Test.dll -namespace %TestNamespace% -html test_results.html -verbose -stoponfail'
输出文件夹包含 xunit.console 可执行文件和测试 dll 及其依赖项。memorytools 文件夹包含 JetBrains.dotMemoryUnit nuget 包的工具文件夹中的所有内容
测试只是:
[Retry]
public void TestImageMemoryLeak()
{
true.ShouldBeTrue();
}
在没有dotMemory 的情况下使用Xunit 启动测试没有问题。当我在我的计算机上使用 dotmemory localy 启动它时,测试也不会挂起。
使用的版本:
- JetBrains.dotMemoryUnit 3.0.20171
- xunit.runner.console 2.4.1
- GitLab 社区版 11.4.5