Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to run xUnit test DLL in Commandline without building the project

I have a project in .NET Core and have built tests using xUnit. Now I wanted to run the test in deployment process. What I have done so far:

I used this command in commandline:

dotnet test [project address]  ... 

it is working but the problem is that this command get the .csproj file and not the dll.

I installed and used xunit.runner.console but its not working with .NET Core projects.

I used dotnet xunit command, this one also not helped while I cannot give it the dll it is also using the project folder.

What can I use to run my built test (dont want to build them again), any commandline tools that I can give my test dll as an input and it runs the test for me.

like image 375
Meysam Avatar asked Jun 16 '17 13:06

Meysam


People also ask

What dotnet command executes xUnit tests?

The dotnet test command builds the solution and runs a test host application for each test project in the solution. The test host executes tests in the given project using a test framework, for example: MSTest, NUnit, or xUnit, and reports the success or failure of each test.

What test runners can be used to test xUnit.net tests?

The MSBuild runner in xUnit.net v2 is capable of running unit tests from both xUnit.net v1 and v2. It can run multiple assemblies at the same time, and build file options can be used to configuration the parallelism options used when running the tests.


1 Answers

You have several options here:

1. Use vstest command

dotnet vstest Foo.dll

to run tests from a dll. xUnit tests are supported. Documentation.

A single dll file only is not enough. Run dotnet vstest from your bin folder, which usually contains:

Foo.dll
Foo.deps.json
Foo.runtimeconfig.json
Foo.runtimeconfig.dev.json
Microsoft.Extensions.Logging.Test.dll
xunit.runner.reporters.netstandard15.dll
xunit.runner.utility.netstandard15.dll
xunit.runner.visualstudio.dotnetcore.testadapter.dll

This bin output is necessary to run the tests.

2. Skip the project build on test run

dotnet test --no-build
like image 83
Ilya Chumakov Avatar answered Oct 24 '22 07:10

Ilya Chumakov