|
|
5 dni temu | |
|---|---|---|
| .. | ||
| Application | 6 dni temu | |
| Configuration | 1 tydzień temu | |
| Drawing | 6 dni temu | |
| Drivers | 6 dni temu | |
| FileServices | 1 tydzień temu | |
| Input | 1 tydzień temu | |
| Resources | 1 tydzień temu | |
| Text | 1 tydzień temu | |
| ViewBase | 5 dni temu | |
| Views | 5 dni temu | |
| AssemblyInfo.cs | 6 miesięcy temu | |
| LocalPackagesTests.cs | 1 tydzień temu | |
| README.md | 1 tydzień temu | |
| TestDateAttribute.cs | 2 tygodni temu | |
| TestSetup.cs | 2 tygodni temu | |
| UnitTests.Parallelizable.csproj | 1 tydzień temu | |
| UnitTests.Parallelizable.csproj.DotSettings | 9 miesięcy temu | |
| runsettings.coverage.xml | 1 tydzień temu | |
| runsettings.xml | 1 tydzień temu | |
| xunit.runner.json | 6 dni temu | |
This project contains unit tests that can run in parallel without interference. Tests here must not depend on global state or static Application infrastructure.
UnitTests blindly use the the legacy model they don't actually need to// Before (in UnitTests)
[Fact]
public void Constructor_Sets_Defaults ()
{
var view = new Button ();
Assert.Empty (view.Text);
}
// After (in UnitTests.Parallelizable) - just move it!
[Fact]
public void Constructor_Sets_Defaults ()
{
var view = new Button ();
Assert.Empty (view.Text);
}
// Before (in UnitTests)
[Fact]
[SetupFakeApplication]
public void Event_Fires_When_Property_Changes ()
{
var view = new Button ();
var fired = false;
view.TextChanged += (s, e) => fired = true;
view.Text = "Hello";
Assert.True (fired);
}
// After (in UnitTests.Parallelizable) - remove attribute!
[Fact]
public void Event_Fires_When_Property_Changes ()
{
var view = new Button ();
var fired = false;
view.TextChanged += (s, e) => fired = true;
view.Text = "Hello";
Assert.True (fired);
}
// Before (in UnitTests)
[Fact]
[AutoInitShutdown]
public void Focus_Test ()
{
var view = new Button ();
var top = new Runnable ();
top.Add (view);
Application.Begin (top);
view.SetFocus ();
Assert.True (view.HasFocus);
top.Dispose ();
}
// After (in UnitTests.Parallelizable) - use BeginInit/EndInit!
[Fact]
public void Focus_Test ()
{
var superView = new View ();
var view = new Button ();
superView.Add (view);
superView.BeginInit ();
superView.EndInit ();
view.SetFocus ();
Assert.True (view.HasFocus);
}
Tests in this project run in parallel automatically. To run them:
dotnet test Tests/UnitTestsParallelizable/UnitTests.Parallelizable.csproj