Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
e394a48
Initial plan
Copilot Oct 3, 2025
cf5f905
feat: implement DI for Stryker.Core and Stryker.CLI
Copilot Oct 3, 2025
b008240
fix: update unit tests to use DI constructors
Copilot Oct 3, 2025
932117d
fix: continue test constructor updates
Copilot Oct 3, 2025
31ac012
feat: implement dependency injection using Microsoft.Extensions.Depen…
Copilot Oct 3, 2025
b1110b5
fix: complete DI unit test migration
Copilot Oct 3, 2025
bada5c6
Merge branch 'master' into copilot/fix-55fd77a5-12e0-4e49-b7c5-607776…
rouke-broersma Oct 3, 2025
e48f7f2
fix: update unit test mocks to use new DI-based method signatures
Copilot Oct 3, 2025
ac65428
fix: improve ProjectMutatorTests initialization (partial)
Copilot Oct 3, 2025
10f68f3
refactor: remove backward compatibility API from StrykerRunner
Copilot Oct 3, 2025
3aef2ca
Changes before error encountered
Copilot Oct 3, 2025
f450f5b
fix: complete CLI test fixes and most Core test fixes
Copilot Oct 3, 2025
7538a30
Merge branch 'master' into copilot/fix-55fd77a5-12e0-4e49-b7c5-607776…
rouke-broersma Oct 3, 2025
9c47462
fix: complete DI refactoring for NugetRestoreProcess and InputFileRes…
Copilot Oct 3, 2025
8c5d32b
fix: sync ApplicationLogging factories between CLI and Utilities
Copilot Oct 3, 2025
571e063
fix: restore IMutationTestProcess and IInitialBuildProcess fields
Copilot Oct 3, 2025
f6d0984
Merge branch 'master' into copilot/fix-55fd77a5-12e0-4e49-b7c5-607776…
richardwerkman Oct 3, 2025
dac5d95
fix: restore real InitialisationProcess in ProjectOrchestrator tests
Copilot Oct 6, 2025
a7d7339
Merge branch 'master' into copilot/fix-55fd77a5-12e0-4e49-b7c5-607776…
richardwerkman Oct 7, 2025
5cf7fdf
Addressing PR comments
Copilot Oct 7, 2025
bc1f974
Merge branch 'master' of https://github.com/stryker-mutator/stryker-n…
richardwerkman Oct 14, 2025
6c9fcf6
fix: add missing using directive for System.IO.Abstractions
richardwerkman Oct 14, 2025
9ce0163
refactor: remove unnecessary logger parameters from InitialTestProces…
richardwerkman Oct 14, 2025
05a2d64
Merge branch 'master' of https://github.com/stryker-mutator/stryker-n…
Oct 24, 2025
8c59e5b
fix merge
Oct 24, 2025
346e49b
Merge branch 'copilot/fix-55fd77a5-12e0-4e49-b7c5-607776e5c133' of ht…
Oct 24, 2025
a338469
Fix sonar issue
Oct 24, 2025
ed8cc0b
Add extra dependency injections
Oct 24, 2025
915da33
Add more DI
Oct 24, 2025
0618057
Fix issues
Oct 24, 2025
b501dfd
Fix test build
Oct 24, 2025
c07c6b0
Fix unit tests
Oct 24, 2025
04cb372
Fix some more tests
Oct 24, 2025
3792573
Fix dependency injection for IMutationProcess by removing F# initializer
Nov 28, 2025
cd4b246
merged master
Nov 28, 2025
4823fee
fix tests
Nov 28, 2025
fee0053
Fix more tests
Nov 28, 2025
18a55f6
fix code smells
Nov 28, 2025
4a8a27d
rename integration test macOS
Nov 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/integration-test.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: integration test macos m1
run-name: e2e ${{ github.head_ref }} on m1 macos
run-name: e2e ${{ github.head_ref }} on macOS apple silicon ARM

on: [pull_request]

Expand Down
33 changes: 17 additions & 16 deletions src/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,14 @@
<PackageVersion Include="DotNet.ReproducibleBuilds" Version="1.2.39" />
<PackageVersion Include="LaunchDarkly.EventSource" Version="5.2.1" />
<PackageVersion Include="McMaster.Extensions.CommandLineUtils" Version="4.1.1" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.10" />
<PackageVersion Include="MSTest" Version="3.11.1" />
<PackageVersion Include="MSTest.TestFramework" Version="3.11.1" />
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="4.14.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="4.14.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.VisualBasic" Version="4.14.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.14.0" />
<PackageVersion Include="NuGet.Protocol" Version="7.0.1" />
<PackageVersion Include="NuGet.Protocol" Version="6.14.0" />
<PackageVersion Include="ResXResourceReader.NetStandard" Version="1.3.0" />
<PackageVersion Include="YamlDotNet" Version="16.3.0" />
<PackageVersion Include="Grynwald.MarkdownGenerator" Version="3.0.106" />
Expand All @@ -19,31 +20,31 @@
<PackageVersion Include="Buildalyzer" Version="7.1.0" />
<PackageVersion Include="Microsoft.Web.LibraryManager.Build" Version="3.0.71" />
<PackageVersion Include="Mono.Cecil" Version="0.11.6" />
<PackageVersion Include="NuGet.Frameworks" Version="7.0.1" />
<PackageVersion Include="NuGet.Frameworks" Version="6.14.0" />
<PackageVersion Include="Serilog" Version="4.3.0" />
<PackageVersion Include="Serilog.Extensions.Logging" Version="10.0.0" />
<PackageVersion Include="Serilog.Extensions.Logging" Version="9.0.2" />
<PackageVersion Include="Serilog.Extensions.Logging.File" Version="3.0.0" />
<PackageVersion Include="Serilog.Sinks.Console" Version="6.1.1" />
<PackageVersion Include="Serilog.Sinks.Console" Version="6.0.0" />
<PackageVersion Include="ShellProgressBar" Version="5.2.0" />
<PackageVersion Include="Spectre.Console" Version="0.54.0" />
<PackageVersion Include="Spectre.Console" Version="0.52.0" />
<PackageVersion Include="Spectre.Console.Analyzer" Version="1.0.0" />
<PackageVersion Include="System.Net.Http.Json" Version="10.0.0" />
<PackageVersion Include="Microsoft.TestPlatform" Version="18.0.1" />
<PackageVersion Include="Microsoft.TestPlatform.ObjectModel" Version="18.0.1" />
<PackageVersion Include="Microsoft.TestPlatform.Portable" Version="18.0.1" />
<PackageVersion Include="Microsoft.TestPlatform.TranslationLayer" Version="18.0.1" />
<PackageVersion Include="TestableIO.System.IO.Abstractions.Wrappers" Version="22.1.0" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0" />
<PackageVersion Include="System.Net.Http.Json" Version="9.0.10" />
<PackageVersion Include="Microsoft.TestPlatform" Version="17.14.1" />
<PackageVersion Include="Microsoft.TestPlatform.ObjectModel" Version="17.14.1" />
<PackageVersion Include="Microsoft.TestPlatform.Portable" Version="17.14.1" />
<PackageVersion Include="Microsoft.TestPlatform.TranslationLayer" Version="17.14.1" />
<PackageVersion Include="TestableIO.System.IO.Abstractions.Wrappers" Version="22.0.16" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.10" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.10" />
</ItemGroup>
<ItemGroup>
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
<PackageVersion Include="coverlet.msbuild" Version="6.0.4" />
<PackageVersion Include="Moq" Version="4.20.72" />
<PackageVersion Include="Stryker.Regex.Parser" Version="1.0.0" />
<PackageVersion Include="Shouldly" Version="4.3.0" />
<PackageVersion Include="Spectre.Console.Testing" Version="0.54.0" />
<PackageVersion Include="TestableIO.System.IO.Abstractions.TestingHelpers" Version="22.1.0" />
<PackageVersion Include="Spectre.Console.Testing" Version="0.52.0" />
<PackageVersion Include="TestableIO.System.IO.Abstractions.TestingHelpers" Version="22.0.16" />
</ItemGroup>
</Project>
43 changes: 22 additions & 21 deletions src/Stryker.Abstractions/packages.lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@
},
"Microsoft.TestPlatform.ObjectModel": {
"type": "Direct",
"requested": "[18.0.1, )",
"resolved": "18.0.1",
"contentHash": "qT/mwMcLF9BieRkzOBPL2qCopl8hQu6A1P7JWAoj/FMu5i9vds/7cjbJ/LLtaiwWevWLAeD5v5wjQJ/l6jvhWQ==",
"requested": "[17.14.1, )",
"resolved": "17.14.1",
"contentHash": "xTP1W6Mi6SWmuxd3a+jj9G9UoC850WGwZUps1Wah9r1ZxgXhdJfj1QqDLJkFjHDCvN42qDL2Ps5KjQYWUU0zcQ==",
"dependencies": {
"System.Reflection.Metadata": "8.0.0"
}
Expand All @@ -71,11 +71,11 @@
},
"TestableIO.System.IO.Abstractions.Wrappers": {
"type": "Direct",
"requested": "[22.1.0, )",
"resolved": "22.1.0",
"contentHash": "IsW3jQqIiTN4GwdWFx+dzgRL5XR75UDTFVGuuIackPf2d7eH0KKyrx4wuIoASa1XnS9zhgLP39FKwJq6nbbx1w==",
"requested": "[22.0.16, )",
"resolved": "22.0.16",
"contentHash": "QUX0TLMvnRLEgvuMRotrZKN9eCdX4yzK7HJCaPj17T4jvUf+G4XifdLpB5wmRct2zKlscYzpWMOmHjKabse3yw==",
"dependencies": {
"Testably.Abstractions.FileSystem.Interface": "10.0.0"
"Testably.Abstractions.FileSystem.Interface": "9.0.0"
}
},
"Buildalyzer.Logger": {
Expand Down Expand Up @@ -130,15 +130,6 @@
"System.Configuration.ConfigurationManager": "8.0.0"
}
},
"Microsoft.Extensions.DependencyInjection": {
"type": "Transitive",
"resolved": "6.0.0",
"contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions": {
"type": "Transitive",
"resolved": "6.0.0",
Expand Down Expand Up @@ -280,8 +271,8 @@
},
"Testably.Abstractions.FileSystem.Interface": {
"type": "Transitive",
"resolved": "10.0.0",
"contentHash": "tZOXFLGjkh8TxgMgKeEcM2HAlz9DwndGl6TFLo6ISHcszFX3FkuPMrtVbmqVjhooWNXrgJ/a9cH9ym5MZL1LAg=="
"resolved": "9.0.0",
"contentHash": "uksk86YlnzAdyfVNu3wICU0X5iXVe9LF7Q3UkngNliHWEvM5gvAlOUr+jmd9JwmbJWISH5+i1vyXE02lEVz7WQ=="
},
"Microsoft.CodeAnalysis.Analyzers": {
"type": "CentralTransitive",
Expand All @@ -298,9 +289,19 @@
"Microsoft.CodeAnalysis.Common": "[4.0.0]"
}
},
"Microsoft.Extensions.DependencyInjection": {
"type": "CentralTransitive",
"requested": "[9.0.10, )",
"resolved": "6.0.0",
"contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
}
},
"Microsoft.Extensions.Logging": {
"type": "CentralTransitive",
"requested": "[10.0.0, )",
"requested": "[9.0.10, )",
"resolved": "6.0.0",
"contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==",
"dependencies": {
Expand All @@ -313,13 +314,13 @@
},
"Microsoft.Extensions.Logging.Abstractions": {
"type": "CentralTransitive",
"requested": "[10.0.0, )",
"requested": "[9.0.10, )",
"resolved": "6.0.0",
"contentHash": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA=="
},
"NuGet.Frameworks": {
"type": "CentralTransitive",
"requested": "[7.0.1, )",
"requested": "[6.14.0, )",
"resolved": "6.9.1",
"contentHash": "DaKh3lenPUvzGccPkbI97BIvA27z+/UsL3ankfoZlX/4vBVDK5N1sheFTQ+GuJf+IgSzsJz/A21SPUpQLHwUtA=="
}
Expand Down
21 changes: 13 additions & 8 deletions src/Stryker.CLI/Stryker.CLI.UnitTest/FileConfigReaderTests.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
using System.IO;
using System.IO.Abstractions;
using Microsoft.Extensions.Logging;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;
using Shouldly;
using Spectre.Console;
using Stryker.Abstractions;
using Stryker.Abstractions.Options;
using Stryker.CLI.Clients;
using Stryker.CLI.Logging;
using Stryker.Configuration;
using Stryker.Core;
using Stryker.Core.Initialisation;

Expand All @@ -29,8 +34,8 @@ public void WithNoArgumentsAndNoConfigFile_ShouldStartStrykerWithConfigOptions()
var currentDirectory = Directory.GetCurrentDirectory();
Directory.SetCurrentDirectory($"..{Path.DirectorySeparatorChar}");
var runResults = new StrykerRunResult(options, 0.3);
mock.Setup(x => x.RunMutationTest(It.IsAny<StrykerInputs>(), It.IsAny<ILoggerFactory>(), It.IsAny<IProjectOrchestrator>())).Returns(runResults).Verifiable();
var target = new StrykerCli(mock.Object);
mock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>())).Returns(runResults).Verifiable();
var target = new StrykerCli(mock.Object, new ConfigBuilder(), Mock.Of<ILoggingInitializer>(), Mock.Of<IStrykerNugetFeedClient>(), Mock.Of<IAnsiConsole>(), Mock.Of<IFileSystem>());

target.Run(new string[] { });

Expand All @@ -57,12 +62,12 @@ public void WithJsonConfigFile_ShouldStartStrykerWithConfigFileOptions(string ar
var runResults = new StrykerRunResult(options, 0.3);

var mock = new Mock<IStrykerRunner>(MockBehavior.Strict);
mock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>(), It.IsAny<ILoggerFactory>(), It.IsAny<IProjectOrchestrator>()))
.Callback<IStrykerInputs, ILoggerFactory, IProjectOrchestrator>((c, l, p) => actualInputs = c)
mock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>()))
.Callback<IStrykerInputs>(c => actualInputs = c)
.Returns(runResults)
.Verifiable();

var target = new StrykerCli(mock.Object);
var target = new StrykerCli(mock.Object, new ConfigBuilder(), Mock.Of<ILoggingInitializer>(), Mock.Of<IStrykerNugetFeedClient>(), Mock.Of<IAnsiConsole>(), Mock.Of<IFileSystem>());

target.Run(new string[] { argName, "filled-stryker-config.json" });

Expand Down Expand Up @@ -104,12 +109,12 @@ public void WithYamlConfigFile_ShouldStartStrykerWithConfigFileOptions()
var runResults = new StrykerRunResult(options, 0.3);

var mock = new Mock<IStrykerRunner>(MockBehavior.Strict);
mock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>(), It.IsAny<ILoggerFactory>(), It.IsAny<IProjectOrchestrator>()))
.Callback<IStrykerInputs, ILoggerFactory, IProjectOrchestrator>((c, l, p) => actualInputs = c)
mock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>()))
.Callback<IStrykerInputs>(c => actualInputs = c)
.Returns(runResults)
.Verifiable();

var target = new StrykerCli(mock.Object);
var target = new StrykerCli(mock.Object, new ConfigBuilder(), Mock.Of<ILoggingInitializer>(), Mock.Of<IStrykerNugetFeedClient>(), Mock.Of<IAnsiConsole>(), Mock.Of<IFileSystem>());

target.Run(new string[] { "-f", "filled-stryker-config.yaml" });

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public class StrykerCLIInitCommandTests

public StrykerCLIInitCommandTests()
{
_target = new StrykerCli(_strykerRunnerMock.Object, null, _loggingInitializerMock.Object, _nugetClientMock.Object, _consoleMock, _fileSystemMock);
_target = new StrykerCli(_strykerRunnerMock.Object, new ConfigBuilder(), _loggingInitializerMock.Object, _nugetClientMock.Object, _consoleMock, _fileSystemMock);
}

[TestMethod]
Expand Down
40 changes: 22 additions & 18 deletions src/Stryker.CLI/Stryker.CLI.UnitTest/StrykerCLITests.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using System.IO.Abstractions;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
Expand All @@ -8,6 +9,7 @@
using NuGet.Versioning;
using Serilog.Events;
using Shouldly;
using Spectre.Console;
using Spectre.Console.Testing;
using Stryker.Abstractions;
using Stryker.Abstractions.Options;
Expand Down Expand Up @@ -35,20 +37,23 @@ public StrykerCLITests()
{
_options = new StrykerOptions() { Thresholds = new Thresholds { Break = 0 } };
_runResults = new StrykerRunResult(_options, 0.3);
_strykerRunnerMock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>(), It.IsAny<ILoggerFactory>(), It.IsAny<IProjectOrchestrator>()))
.Callback<IStrykerInputs, ILoggerFactory, IProjectOrchestrator>((c, l, p) => _inputs = c)
_strykerRunnerMock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>()))
.Callback<IStrykerInputs>(c => _inputs = c)
.Returns(_runResults)
.Verifiable();
_nugetClientMock.Setup(x => x.GetLatestVersionAsync()).Returns(Task.FromResult(new SemanticVersion(10, 0, 0)));
_target = new StrykerCli(_strykerRunnerMock.Object, null, _loggingInitializerMock.Object, _nugetClientMock.Object);
var configBuilder = new ConfigBuilder();
var consoleMock = new Mock<IAnsiConsole>();
var fileSystemMock = new Mock<IFileSystem>();
_target = new StrykerCli(_strykerRunnerMock.Object, configBuilder, _loggingInitializerMock.Object, _nugetClientMock.Object, consoleMock.Object, fileSystemMock.Object);
}

[TestMethod]
public void ShouldDisplayInfoOnHelp()
{
var mock = new Mock<IStrykerRunner>(MockBehavior.Strict);
var console = new TestConsole().EmitAnsiSequences().Width(160);
var target = new StrykerCli(mock.Object, console:console);
var target = new StrykerCli(mock.Object, new ConfigBuilder(), Mock.Of<ILoggingInitializer>(), Mock.Of<IStrykerNugetFeedClient>(), console, Mock.Of<IFileSystem>());

target.Run(new string[] { "--help" });

Expand All @@ -68,12 +73,12 @@ public void ShouldDisplayLogo()
var strykerRunnerMock = new Mock<IStrykerRunner>(MockBehavior.Strict);
var strykerRunResult = new StrykerRunResult(_options, 0.3);

strykerRunnerMock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>(), It.IsAny<ILoggerFactory>(), It.IsAny<IProjectOrchestrator>()))
strykerRunnerMock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>()))
.Returns(strykerRunResult)
.Verifiable();

var console = new TestConsole().EmitAnsiSequences().Width(160);
var target = new StrykerCli(strykerRunnerMock.Object, null, _loggingInitializerMock.Object, _nugetClientMock.Object, console);
var target = new StrykerCli(strykerRunnerMock.Object, new ConfigBuilder(), _loggingInitializerMock.Object, _nugetClientMock.Object, console, Mock.Of<IFileSystem>());

target.Run(Array.Empty<string>());

Expand Down Expand Up @@ -121,12 +126,11 @@ public void OnMutationScoreBelowThresholdBreak_ShouldReturn_ExitCodeBreakThresho
};
var strykerRunResult = new StrykerRunResult(options, 0.3);

mock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>(), It.IsAny<ILoggerFactory>(), It.IsAny<IProjectOrchestrator>()))
.Callback<IStrykerInputs, ILoggerFactory, IProjectOrchestrator>((c, l, p) => Utilities.Logging.ApplicationLogging.LoggerFactory = l)
mock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>()))
.Returns(strykerRunResult)
.Verifiable();

var target = new StrykerCli(mock.Object);
var target = new StrykerCli(mock.Object, new ConfigBuilder(), Mock.Of<ILoggingInitializer>(), Mock.Of<IStrykerNugetFeedClient>(), Mock.Of<IAnsiConsole>(), Mock.Of<IFileSystem>());
var result = target.Run(new string[] { });

mock.Verify();
Expand All @@ -146,11 +150,11 @@ public void OnMutationScoreEqualToNullAndThresholdBreakEqualTo0_ShouldReturnExit
}
};
var strykerRunResult = new StrykerRunResult(options, double.NaN);
mock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>(), It.IsAny<ILoggerFactory>(), It.IsAny<IProjectOrchestrator>()))
mock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>()))
.Returns(strykerRunResult)
.Verifiable();

var target = new StrykerCli(mock.Object);
var target = new StrykerCli(mock.Object, new ConfigBuilder(), Mock.Of<ILoggingInitializer>(), Mock.Of<IStrykerNugetFeedClient>(), Mock.Of<IAnsiConsole>(), Mock.Of<IFileSystem>());
var result = target.Run(new string[] { });

mock.Verify();
Expand All @@ -170,11 +174,11 @@ public void OnMutationScoreEqualToNullAndThresholdBreakAbove0_ShouldReturnExitCo
}
};
var strykerRunResult = new StrykerRunResult(options, double.NaN);
mock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>(), It.IsAny<ILoggerFactory>(), It.IsAny<IProjectOrchestrator>()))
mock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>()))
.Returns(strykerRunResult)
.Verifiable();

var target = new StrykerCli(mock.Object, null, _loggingInitializerMock.Object, _nugetClientMock.Object);
var target = new StrykerCli(mock.Object, new ConfigBuilder(), _loggingInitializerMock.Object, _nugetClientMock.Object, Mock.Of<IAnsiConsole>(), Mock.Of<IFileSystem>());
var result = target.Run(new string[] { });

mock.Verify();
Expand All @@ -195,9 +199,9 @@ public void OnMutationScoreAboveThresholdBreak_ShouldReturnExitCode0()
};
var strykerRunResult = new StrykerRunResult(options, 0.1);

mock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>(), It.IsAny<ILoggerFactory>(), It.IsAny<IProjectOrchestrator>())).Returns(strykerRunResult).Verifiable();
mock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>())).Returns(strykerRunResult).Verifiable();

var target = new StrykerCli(mock.Object);
var target = new StrykerCli(mock.Object, new ConfigBuilder(), Mock.Of<ILoggingInitializer>(), Mock.Of<IStrykerNugetFeedClient>(), Mock.Of<IAnsiConsole>(), Mock.Of<IFileSystem>());
var result = target.Run(new string[] { });

mock.Verify();
Expand All @@ -212,7 +216,7 @@ public void OnMutationScoreAboveThresholdBreak_ShouldReturnExitCode0()
public void ShouldNotStartStryker_WithHelpArgument(string argName)
{
var mock = new Mock<IStrykerRunner>(MockBehavior.Strict);
var target = new StrykerCli(mock.Object);
var target = new StrykerCli(mock.Object, new ConfigBuilder(), Mock.Of<ILoggingInitializer>(), Mock.Of<IStrykerNugetFeedClient>(), Mock.Of<IAnsiConsole>(), Mock.Of<IFileSystem>());

target.Run(new string[] { argName });

Expand All @@ -223,11 +227,11 @@ public void ShouldNotStartStryker_WithHelpArgument(string argName)
public void ShouldThrow_OnException()
{
var mock = new Mock<IStrykerRunner>(MockBehavior.Strict);
mock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>(), It.IsAny<ILoggerFactory>(), It.IsAny<IProjectOrchestrator>()))
mock.Setup(x => x.RunMutationTest(It.IsAny<IStrykerInputs>()))
.Throws(new Exception("Initial testrun failed"))
.Verifiable();

var target = new StrykerCli(mock.Object, null, _loggingInitializerMock.Object, _nugetClientMock.Object);
var target = new StrykerCli(mock.Object, new ConfigBuilder(), _loggingInitializerMock.Object, _nugetClientMock.Object, Mock.Of<IAnsiConsole>(), Mock.Of<IFileSystem>());
Should.Throw<Exception>(() => target.Run(new string[] { }));
}

Expand Down
Loading
Loading