Я использую автономный модуль запуска dotMemory на CI-сервере gitlab для запуска модульного теста 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 содержит все, что находится в папке с инструментами пакета nuget JetBrains.dotMemoryUnit
Тест:
[Retry]
public void TestImageMemoryLeak()
{
true.ShouldBeTrue();
}
При запуске теста с Xunit без dotMemory проблем не возникает.Кроме того, тест не зависает, когда я запускаю его с помощью dotmemory localy на моем компьютере.
Используемая версия:
- JetBrains.dotMemoryUnit 3.0.20171
- xunit.runner.console 2.4.1
- GitLab Community Edition 11.4.5