2015-09-25 5 views
2

Выполнив несколько блогов, детализирующие, как получить XUnit работы с Team Services Построить vNext:XUnit не работает с помощью Visual Studio Team Services Сборка VNext

Ни один из них не работал для меня. Изучая журналы построения, я получаю следующие предупреждения для каждой из моих тестовых сборок.

-------------------- 
Warning: [xUnit.net 00:00:00.1644156] Exception discovering tests from CHO.SAM.Business.Test: System.BadImageFormatException: 
Could not load file or assembly 'c:\_Work\473cef3c\CHO\CHO.ALL\Tests\CHO.SAM.Business.Test\CHO.SAM.Business.Test\bin\Debug\xunit.execution.desktop.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. 
-------------------- 

Кто-нибудь видел это раньше? и если бы вы выяснили решение?

Мои мысли; мои тестовые проекты скомпилированы с использованием .NET Framework 4.6, мне было интересно, может ли это вызвать проблему? Если это так, мне придется перейти на nUnit или что-то еще, поскольку я не считаю правильным изменять компиляцию только для использования единой тестовой среды.

+0

Кстати, он отлично работает в Visual Studio, строит, запускает и распознает тесты. Все хорошо. – Choco

+0

Симптомы выглядят аналогично описанным [здесь] (http://stackoverflow.com/questions/32659106/tfs-2013-building-net-4-6-c-sharp-6-0) и [здесь] (http : //stackoverflow.com/questions/28287737/c-sharp-6-0-tfs-builds). Посмотрите, помогает ли какое-либо предложение оттуда. –

+0

Я следил за вашими ссылками, но моя проблема несколько отличалась. thx ... :-) – Choco

ответ

1

Эта ошибка обычно вызвана сборкой x64, выполняемой на тестовом сервере x86 или наоборот. Проверьте конфигурацию сборки решения, которая выполняется.

+0

Спасибо за ответ, который я проверил, и все это x64. ... стоит проверить тебя. – Choco

+0

Настройка тестового проекта Build> Цель платформы для x86 исправила ее для меня. –

0

В конце я добавил проект тестирования Visual Studio Coded UI и удалил все содержимое (класс), он пуст!

Я предполагаю, что добавлена ​​ссылка или что-то, что сервер сборки считал необходимым.

Я теперь получаю мои модульные тесты, обнаруженные, запущенные и с покрытием кода.

Wierd!

Это работает, но я не знаю, почему ...

1

У меня была такая же проблема. Добавление теста пользовательского интерфейса не исправило его для меня. Я нашел две альтернативы, которые работают:

  1. использовать .NET 4.5

    ИЛИ

  2. Установить дополнительные параметры задачи VSTest использовать 2013 вместо 2015.

Надеюсь, это скоро будет исправлено.

+0

не имел возможности выбрать 4.5 ... Я подозреваю, что это вызвано тем, что библиотеки xunit равны 4.5 ... – Choco

2
  • Добавить "/ Framework: Framework45" до "Advanced/Другие параметры консоли" (для запуска под .NET 4.5)
    или
  • Добавить "/ Framework: Framework40" до "Advanced/Другие параметры консоли" (для запуска под .NET 4.0)
    или
  • Изменить "Advanced/VSTest версия" в "Visual Studio 2013" (для запуска под .NET 3,5)
0

Я столкнулся с этой проблемой при использовании.Net Core для запуска тестов xUnit с .NET Net Web Project (.NET Framework). Что решить проблему для меня изменить процессор по умолчанию для запуска теста на X64 в VS2015 с помощью:

Меню Бара -> Тест -> Настройки тестирования -> По умолчанию Processor Architecture -> X64

Это решение было размещено by @RehanSaeed здесь https://github.com/dotnet/cli/issues/3103