Code Monkey home page Code Monkey logo

test-out's Introduction

About Test-Out

Testout is a distributed test running platform. It's main goal is to reduce CI processing times for long running integration tests.

How it works

(TODO: diagram) A test run is started by an Invoker, which sends the test folder to the server. The server then distributes that folder to each agent, and invokes tests in parallel on each agent. Once all the tests have been processed, the results are given to the invoker, which then writes out the test result file in .trx format.

Installation

Supported Platforms

Right now it only supports windows platforms for the agents, as it's currently hard coded to use the .net framework version of nUnit.

Installation for Server/Agent

To install Test-Out, run the following command: dotnet tool install --tool-path C:\Tools\dotnet ThreeCS.TestOut.Console

Note that we've put the tool into a specific folder. This is so the tool instance is distinct from any user dotnet tools on the pc (the --tool-path option), and we can control versions and permissions for it, as is required for services.

To setup a Test-Out server, run sc.exe create "TestoutServer" binpath="C:\Tools\dotnet\testout.exe --as-service --mode Server --server-url https://the-server-hostname:34872"

To setup a Test-Out agent, run sc.exe create "TestoutAgent" binpath="C:\Tools\dotnet\testout.exe --as-service --mode Agent --server-url https://the-server-hostname:34872"

Be sure to check what users the service is running as, what the startup for the service is, and check firewalls after installation.

When run with the --as-service flag, Test-Out will put all it's data in the global program data folder, usually C:\ProgramData\TestOut. This flag can be used with the service stopped, along with the --verbose option to help diagnose issues.

Installation for Test-Out Client

Run the following command: dotnet tool install ThreeCS.TestOut.Console

Test-Out can now be invoked using the 'testout' command. Run testout -? for detailed usage instructions. Test-Out can be run in any mode (Run, Agent, Server) interactively. Data that is used is stored under the users AppData/Local/TestOut folder.

Running Tests

Once the tool is installed, tests can be run with: testout --mode Run --base-path ".\MyProject.Tests\bin\Debug" --test-assembly "MyProject.Tests.dll"

For single machine testing scenarios, the mode can be both Run/Agent and Server, eg: testout --mode Run,Agent,Server --base-path ".\MyProject.Tests\bin\Debug" --test-assembly "MyProject.Tests.dll" This will start a console process that hosts a server on the default address (http://localhost:34872), along with an agent for that server and finally starts a runner process.

test-out's People

Contributors

mstancombe avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.