13

Mój problem jest dość prosty, mam serwer CI, który uruchamia msbuild i mstest.Jak korzystać z MsTest w ciągłej integracji bez VS?

Problem polega na tym, że Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll nie istnieje (i myślę, że inny plik powiązany z mstest ...), jeśli nie zainstalujemy VS na serwerze, który jest dość głupi serwer CI ...

Ktoś ma rozwiązanie tego problemu?

+1

Mają instalator oddzielna teraz do tego celu, o nazwie „Środki do Visual Studio”. Jest jeden dla [2010] (http://www.microsoft.com/en-us/download/details.aspx?id=1334) oraz dla [2012] (http://www.microsoft.com/en- us/download/details.aspx? id = 38186). –

Odpowiedz

8

Niestety, nie ma obsługiwanego lub prostego sposobu na zainstalowanie VS na komputerze agenta build w 2005 lub 2008 (There will be a test agent installer in 2010). AKTUALIZACJA: See this post from Steve Smith for more info which says pretty much the same thing

Nie chodzi tylko o brakujące zespoły - jeśli chcesz uruchomić testy, biegacz to nie tylko oddzielny mały plik EXE i biblioteka DLL.

Tak, trudno w to uwierzyć! Nie trzeba dodawać, że bardzo niewiele innych frameworków testowych na planecie ma to ograniczenie, więc jeśli nie masz wielu testów, możesz rozważyć przeniesienie z różnych powodów, które są uwzględnione w wielu miejscach, na przykład: The fundamental problems and impracticality of using MSTest ...

EDIT: Pod wpływem odpowiedzi Rihan za, ja binged się następujące Running mstest without Visual Studio. - to nie jest w pełni obsługiwany, ale to „działa” ...

EDIT 2: Running MSTest without Visual Studio - Gallio to the rescue wygląda o wiele bardziej obiecujące pod względem wspierany i nie- hacky. NB patrz komentarz @Johannes Rudolpha na tym stanowisku tho”

EDIT 3: Dodano informacji re statusu 2010 na to pytanie

UWAGA: Mam podobne pytanie na rok 2008 dotyczące tego, co jest wymagane, aby wspierać parametr/publikowania z MSTest : - Running MSTEST.exe /publish on a TeamBuild server, what are the prerequisites?

+0

wiem, że MSTest ssie ale to zintegrowane VS, a mój klient nie chce innej rzeczy jak NUnit ... próbuję przetestować sposób na Rihan za moment ... poważaniem Loïc – LoKtO

+0

Słusznie. Rozumiem. Innymi dobrymi podejściami są TestDriven.NET, biegacz GUI Gallio, GUI NUnit (możesz go uruchomić automatycznie przy kompilacji, który działa naprawdę dobrze - to znaczy, że musisz tylko nacisnąć Shift-F6 i dowolny zestaw testów chcieć (w oparciu o kategorie lub drzewo przestrzeni nazw lub wielokrotne zaznaczanie za pomocą pól wyboru) są natychmiast ponownie uruchamiane. Drugą kwestią jest rozważenie przekierowania ich do NUnit (łatwiej sprzedać do sklepu MSTEST niż do xUnit.NET, nawet jeśli generalnie domyślnie do tego), a następnie za pomocą Resharpera lub TestDriven.NET, aby zapewnić lepsze wrażenia zintegrowanym testom VS: –

+0

Tak, wiem o TestDriven.Net, ale 10 licencji kosztuje więcej niż 1000 $ tyle samo o resharperie, ale niektórzy deweloperzy mają już licencję. Na razie sposób, w jaki Rihan działa, ale chcę wiedzieć, czy jest to uzasadnione, czy nie:/Jeśli nie, spróbuję przenieść dev w NUnit, ale będzie to trudne, oni już nie chcą robić testów jednostkowych, które są interweniowane z VS UI, więc NUnit ... Ale spróbuję. Dzięki za twoją pomoc i jeśli w ogóle jeden ma odpowiedź na pytanie o legalność i licencjonowanie będzie fajny :) – LoKtO

0

Mamy konfigurację tempomatu na naszym serwerze integracyjnym. Nie zainstalowałem visual studio, jednak skopiowałem zespoły MSTEST do GAC. Następnie użyliśmy Cruise Control Documentation do konfiguracji naszych raportów z testów. Działa bardzo dobrze.

+0

Jak MSTEST.EXE dostał się do maszyny? Czy jest gdzieś, że szczegóły kroków związanych z wykonywaniem tej części (i QHICH QT DLL muszą przejść do GAC). Oczywiście, jeśli to działa, jest super ... –

+0

Jest to wspólne środowisko programistyczne, a inna osoba ma uruchomione MSTests, nie wiem, co zrobili, aby to zrobić. Pomocne jest również to, że w kasie kodu źródłowego znajduje się folder zasobów zawierający przydatne narzędzia, takie jak mstest.exe i tinyget.exe, które pomagają po prostu robić http po naszej kompilacji, aby sprawdzić, czy strona działa. Sprawia, że ​​kasie większe, ale to nie ma problemu w tym momencie. Zawsze szukają prostszych sposobów na automatyzację. –

+0

Zaryzykowałbym, że niektóre z tych rzeczy, które zostały uwzględnione w linkach, do których dodałem w mojej odpowiedzi, brzmiały, co się stało ... Chciałbym polecić użycie czegoś takiego jak Gallio lub przejście na NUnit lub xUnit.NET - szczególnie jeśli " re typ sklepu, który wybrał CC.NET kontra TeamCity lub VSTS –

2

Specyficzne rozwiązanie dla mnie i Visual Studio 2010 było:

  1. Install "agent test 2010" od Visual Studio Agents 2010
  2. Restart systemu Windows
  3. Install Visual Studio 2010 Service Pack 1
  4. Restart systemu Windows
  5. Upewnić się, projekty Referencje są aktualizowane tak, aby wskazywały na "Microsoft.VisualStudio.QualityTools.UnitTestFramework" "10.1.0.0", a nie "10.0.0.0".
3

@Ruben Bartelink: Możesz pobrać plik mstest.exe w komputerze, instalując testery. możesz go znaleźć @given location. Po instalacji, wywołaj plik mstest.exe za pomocą opcji/testcontainer i/test. Działa z powodzeniem i tworzy pliki trx. Sprawdź, co może przetwarzać trx i generować raporty.

http://www.microsoft.com/en-us/download/details.aspx?id=38186

Powiązane problemy