dotnet command line goodness from senor hanselman

I love to keep up with all things Scott Hanselman, he’s really a golden god of the tech. I’ve been learning the new dotnet core stuff lately brushing up on my skills and came across his command line tutorial which is a great into into how you use the dotnet command line.

I’m going to shorten it up for my purposes as I’d like to reference back to it as I keep my studies up. Here’s the list of command and what they mean:

make a directory and move to the new folder

md testexample & cd testexample

create a solution file

dotnet new sln

create a class library, the -n is the name & the -o is the location

dotnet new classlib -n mylibrary -o mylibrary

create a xunit text project

dotnet new xunit -n mytests -o mytests

add the class library to the solution file

dotnet sln add mylibrary\mylibrary.csproj

add the xunit test project to the solution file

dotnet sln add mytests\mytests.csproj

add the xunit test project to the solution file

dotnet sln add mytests\mytests.csproj

move to the mytest project and add reference to class library

cd mytests
dotnet add reference ..\mylibrary\mylibrary.csproj

move up one level and restore the project which pulls down the packages it needs

cd ..
dotnet restore

move to the mytests folder and run the test. –> Scott says, Of course, I’m testing nothing yet but pretend there’s a test in the tests.cs and something it’s testing (that’s why I added a reference) in the library.cs, OK?

cd mytests & dotnet test

add a watcher to your tests so when you save code, your tests will run automagically. open up your /mytests.csproj file and add this xml snippet

<ItemGroup>
 <DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="1.0.0" />
</ItemGroup>

go back up and restore again as you want to add the watcher dependencies and now you can test

cd ..
dotnet restore

add this code to your UnitTest1.cs file and hit save, you will see your tests run. one test should pass and one should fail

[Fact]
public void Test1()
{
	Assert.Equal(4, Add(2,2));
}

[Fact]
public void Test2()
{
	Assert.Equal(7, Add(4,2));
}

int Add(int x, int y) {
	return x + y;
}

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.