1

我在 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
4

0 回答 0