Ustawianie zmiennych środowiskowych procesu - testy

Po przydługowamy opisie tego co daje nam Windows przyszła chwila na trochę kodu. Jako, że jednym z celów tego projektu jest poznanie nieznanego postanowiłem wykorzystać F#-a (http://fsharp.org/), czyli funkcjyny język z rodziny .NET.

W czasie pracy staram się wykorzystywać TDD i nie inaczej będzie w przypadku Pathera. Jeśli chodzi o technologię to wybór padł na xUnit oraz FsUnit. Oprócz bibliotek potrzebować będziemy także programu, którego zmienne środowiskowe będą zmieniane. W tym celu napisałem malutki program (również w F#), pozwoli sobą sterować (poprzez standardowe wejście/wyjście) dzięki czemu możliwe będzie napisanie testów:

Komunikacja wygląda następująco:

  1. Program odczytuje jeden znak ozaczający polecenie do wykonania (E - echo, S -> ustawienie zmiennej, R -> odczytanie zmiennej)
  2. W zależności od polecenia odczytywane są kolejne parametry - każdy w oddzielnej linii
  3. Odpowiedź jest odsyłana w formie pojedynczej linii

Po stronie testów korzystne będzie napisanie kilku funkcji, które pozwolą na wygodne sterowanie programem pomocniczym:

Te kilka funkcji pozwoli na napisanie pierwszych testów w bardzo przejrzysty sposób:

Szczęśliwe po uruchomieniu uzyskujemy dwa zielone testy potwierdzające, że nasz proces pomocniczy działa i będziemy mogli przetestować ustawianie zmiennych środowiskowych z innego procesu.

Ten post zakończy się dwoma testami przedstawiającymi końcową funkcjonalność:

Jako, ze implementacja funkcji RemoteProcess.readPath i RemoteProcess.setPath wykonujących to czego potrzebujemy jest rozbudowana, będą one tematem następnego posta.

Obsługa wiersza polecenia

Obsługa wiersza polecenia, a własciwie argumentów przekazywanych w ten sposób, to temat rzeka. Istnieje niezliczona liczba bibliotek i ko...… Continue reading

Pakowanie aplikacji z ILRepack

Published on March 30, 2016

Paket i FAKE

Published on March 24, 2016