W tym kroku skonfigurujesz środowisko projektu - utworzysz solution oraz 3 projekty: typu Class Library, typu Console application oraz typu Unit test.
-
Utwórz projekt o nazwie
RationalLib
typu Class Library oraz solution o nazwieRationalType
.W ramach Twojego solution będziesz korzystał z wielu projektów - m.in. projektu testującego (Unit Tests) czy projektu z aplikacją próbną. Zatem powinieneś mieć solution z możliwością utworzenia wielu projektów.
-
Dodaj do solution projekt typu Unit Tests. Nadaj mu nazwę
RationalUnitTests
. W klasach tego projektu tworzyć będziesz kod testów jednostkowych dla projektuRationalLib
, zaś uruchamiać je w Test Explorer.Wykorzystujemy domyślne środowisko testów jednostkowych Microsoft MSTest v2. Dla środowiska wybierz .NET6 lub wyższy.
Dodaj referencję do projektu
RationalLib
. -
W solution utwórz jeszcze jeden projekt typu Console application o nazwie
RationalConsoleAppDemo
. (Wybierz .NET6 lub wyższy). Uczyń ten projekt aktywnym.W projekcie tym będziesz zapisywał proste fragmenty kodu weryfikującego niektóre z funkcjonalności projektowanej klasy.
Dodaj referencję do projektu
RationalLib
oraz wpisz w wygenerowanymProgram.cs
:using RationalLib; using static System.Console;
Dyrektywa
using static
pozwala na odwołania bezpośrednie do składników wskazanego typu. W naszym przypadku zamiast pisaćConsole.WriteLine("abc")
będziemy mogli napisaćWriteLine("abc")
.Zwróć uwagę, w jakiej przestrzeni nazw zdefininiowana będzie klasa
BigRational
(domyślnie nazwa projektu - czyliRationalLib
).Sprawdź poprawność konfiguracji, uruchamiając program (dopisując w
Main()
linięWriteLine("Hello")
(dziękiusing static System.Console;
możesz w takiej skrótej postaci wyprowadzać napisy na konsolę).
-
Plik:
RationalLib.csproj
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net6.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> </PropertyGroup> </Project>
-
Plik:
RationalUnitTests.csproj
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net6.0</TargetFramework> <Nullable>enable</Nullable> <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" /> <PackageReference Include="MSTest.TestAdapter" Version="2.2.7" /> <PackageReference Include="MSTest.TestFramework" Version="2.2.7" /> <PackageReference Include="coverlet.collector" Version="3.1.0" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\RationalLib\RationalLib.csproj" /> </ItemGroup> </Project>
-
Plik:
RationalConsoleApp.csproj
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> </PropertyGroup> <ItemGroup> <ProjectReference Include="..\RationalLib\RationalLib.csproj" /> </ItemGroup> </Project>