2014-12-11 3 views
2

Travis CI now supports C# (в бета-версии). После того, как вы попробуете 8 различных методов, я не могу найти решение моей проблемы.Проблемы с travis для C#

У меня есть проект ASP MVC, Трэвис использовать моно и я знаю, что я не могу построить в Travis такого проекта

script: 
    - xbuild project.sln 

Ok нет проблем с этим, но я хочу передать свои тесты, то лучшее решение, что я нахожу:

language: csharp 
solution: OptionType.sln 
install: 
    - sudo apt-get install mono-devel mono-gmcs nunit-console 
script: 
    - nunit-console MSPSpain.Tests/bin/Debug/MSPSpain.Tests.dll 

но не смог .. https://travis-ci.org/MSPSpain/Website/builds/43711017

936ProcessModel: Default DomainUsage: Single 

937Execution Runtime: mono-4.0 

938Missing method .ctor in  assembly /home/travis/build/MSPSpain/Website/MSPSpain.Tests/bin/Debug/MSPSpain.Tests.dll, type  Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute 

939Can't find custom attr constructor  image: /home/travis/build/MSPSpain/Website/MSPSpain.Tests/bin/Debug/MSPSpain.Tests.dll mtoken:  0x0a000011 

940Could not load file or assembly 'Microsoft.VisualStudio.QualityTools.UnitTestFramework,  Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. 

941 

942The command "nunit-console MSPSpain.Tests/bin/Debug/MSPSpain.Tests.dll" exited with 254. 

Я много искал об этом, и я не могу найти лучшее решение моей проблемы.

ответ

3

В ваших тестах используется MSTest и ссылка на сборку Microsoft.VisualStudio.QualityTools.UnitTestFramework, которая обычно устанавливается Visual Studio.

Microsoft.VisualStudio.QualityTools.UnitTestFramework не будет включен в Mono.

Возможно, самое простое решение - switch to using NUnit instead of MSTest, если вы хотите запустить тесты как для Windows, так и для Mono.

Несмотря на то, что в Windows можно получить MSTest installed without Visual Studio, я подозреваю, что это невозможно в операционной системе, отличной от Windows.

+0

Спасибо! Я попытаюсь с помощью этого метода – CKGrafico

+0

Это решение помогает мне, но не является окончательным https://travis-ci.org/MSPSpain/Website/builds/43731707 – CKGrafico

+0

В проекте есть ссылки на сборку Microsoft.VisualStudio.QualityTools.UnitTestFramework, которая почему он все еще терпит неудачу. Будет проще удалить эту ссылку, добавить ссылку на NUnit.Framework и использовать только NUnit для тестирования. Можно поддерживать и то, и другое, но это будет больше работать, так как вам понадобятся две разные конфигурации сборки и имеют условные ссылки, один для NUnit и один для MSTest. –

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