2016-02-10 2 views
2

Это похоже на «слишком легкое» предмет для вопроса, но я честно с трудом нахожу любую информацию по этому вопросу.Использование xUnit.net Console Runner With Mono

В принципе, вот суть. У нас есть несколько проектов на разных платформах (например, Windows и Mac), написанных на C#. Мы используем xUnit для наших модульных тестов через xUnit.net, которые распределяются между платформами. Я пытаюсь запустить эти тесты на консоль xUnit.net, как описано here, но я не могу заставить бегуна работать в моно. Есть ли что-то дополнительное, что мне нужно сделать? Ниже то, что я пытаюсь сделать это с помощью командной строки:

mono [REPOSITORY_PATH]/Apple/Source/Solutions/packages/xunit.runner.console.2.1.0/tools/xunit.console.exe "[REPOSITORY_PATH]/Apple/Source/Platform/Mac/MacXunitTests/bin/Debug/[PROJECT_NAME].Tests.Mac.dll" 

Следующих является ошибкой я получил:

xUnit.net Console Runner (32-bit .NET 4.0.30319.17020) 
Can't find custom attr constructor image: /private/var/folders/0p/s4d1k4150zd2v8b0y1q2nz902v4jm6/T/d724bcb6-cce1-4430-b645-6dadd980c2ee/d724bcb6-cce1-4430-b645-6dadd980c2ee/assembly/shadow/6755efca/b6f5411e_d1a0aed4_00000002/xunit.execution.desktop.dll mtoken: 0x0a000009 
Unhandled loader error: 7, (null) xunit.core, Version=2.0.0.2929, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c Xunit.Sdk.PlatformSpecificAssemblyAttribute 
* Assertion: should not be reached at loader.c:298 
+0

Я запускаю Xamarin Studio, основанную на Mono, у меня есть проект PCL с некоторыми логическими классами. У меня есть другой проект, который проверяет код в PCL. Я могу запустить эти тесты в Xamarin Studio Addin, и он работает хорошо. Теперь я хочу запустить те же тесты в консоли, но я не могу найти, чтобы получить xunit.console.exe ром тесты. (im на mac) – jzeferino

+0

Вы должны установить соответствующий пакет nuget. xUnit.Net [Runner: Console] - это имя пакета. Посмотрите эту ссылку: http://xunit.github.io/docs/getting-started-desktop.html#add-xunit-runner-ref – Jyosua

+0

Я загрузил консоль-бегун через командную строку nuget и запускал тесты через моно, передавая xunit и тесты. – jzeferino

ответ

1

Как оказалось, это результат использования старой версии xUnit.net. Мы использовали версию релиза версии 2.0, которая вызывала ошибку, которую я опубликовал. Удаление пакета nuget и повторная установка 2.0, похоже, делают тесты работоспособными.

Теперь я обнаружил, что тесты не работают в консольном бегуне, но это, по-видимому, связано с некоторой ошибкой при загрузке сборки в сборке, но это выходит за рамки первоначального вопроса.

Смежные вопросы