Code Monkey home page Code Monkey logo

trivialtestrunner's Introduction

TrivialTestRunner

Build Status

NuGet

Dotnet Test Runner For The Rest Of Us (tm)

Use case

  • You have a small library with a modest set of tests.
  • You don't care about "test explorer" or whatnot, but rather want to have a simple console application to run your tests.
  • You don't want to add fat loaders scanning your assemblies because they slow down the debugger launch.
  • You are too stupid and/or lazy to understand everything the bigger test frameworks do under the hood

Installation

https://www.nuget.org/packages/TrivialTestRunner/ - or add TrivialTestRunner.cs to your project

Usage

In your test console application (where classes TestClass1 and TestClass2 contain the test methods):

using TrivialTestRunner

static anync Task Main(string[] args)
{
    TRunner.AddTests<TestClass1>();
    TRunner.AddTests<TestClass2>();
    await TRunner.RunTestsAsync();
    // write results to console
    TRunner.ReportAll();
}

In your test classes:

// normal case
[Case]
public static void Test1()
{
    Assert.IsTrue(true);
}

// normal non static case
[Case]
public void Test2()
{
    Assert.IsTrue(true);
}

// normal non static async case
[Case]
public async Task Test3()
{
    Assert.IsTrue(true);
    return await Task.CompletedTask;
}


// focused case
[fCase]
public static void Test3()
{
    Assert.IsTrue(true);
}

Note that one of the tests is "focused", i.e. fCase. If there are any focused tests in your set, only the focused tests will be run (yes, this means you don't need that "test explorer" to launch tests one by one)

If you want not to catch exceptions while running the tests (i.e. you want to trigger the debugger when it happens), do:

// CrashHard will raise exception all the way
TRunner.CrashHard = true;

License

MIT

trivialtestrunner's People

Contributors

vivainio avatar

Watchers

 avatar James Cloos 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.