public GivenATestExecutionGetTestRunnerProcessStartInfoMessageHandler() { _testsToRun = new List<string> {"test1", "test2"}; _validMessage = new Message { MessageType = TestMessageTypes.TestExecutionGetTestRunnerProcessStartInfo, Payload = JToken.FromObject(new RunTestsMessage { Tests = _testsToRun }) }; _dotnetTestMock = new Mock<IDotnetTest>(); _dotnetTestMock.Setup(d => d.State).Returns(DotnetTestState.VersionCheckCompleted); _dotnetTestMock.Setup(d => d.PathToAssemblyUnderTest).Returns(AssemblyUnderTest); _testStartInfo = new TestStartInfo { FileName = "runner", Arguments = "arguments" }; _testRunnerMock = new Mock<ITestRunner>(); _testRunnerMock.Setup(t => t.GetProcessStartInfo()).Returns(_testStartInfo); _testRunnerFactoryMock = new Mock<ITestRunnerFactory>(); _testRunnerFactoryMock .Setup(c => c.CreateTestRunner(It.IsAny<RunTestsArgumentsBuilder>())) .Callback<ITestRunnerArgumentsBuilder>(r => _argumentsBuilder = r as RunTestsArgumentsBuilder) .Returns(_testRunnerMock.Object); _adapterChannelMock = new Mock<IReportingChannel>(); _testRunnerChannelMock = new Mock<IReportingChannel>(); _testRunnerChannelMock.Setup(t => t.Port).Returns(TestRunnerPort); _reportingChannelFactoryMock = new Mock<IReportingChannelFactory>(); _reportingChannelFactoryMock.Setup(r => r.CreateTestRunnerChannel()).Returns(_testRunnerChannelMock.Object); _testGetTestRunnerProcessStartInfoMessageHandler = new GetTestRunnerProcessStartInfoMessageHandler( _testRunnerFactoryMock.Object, _adapterChannelMock.Object, _reportingChannelFactoryMock.Object); }
public void It_generates_the_right_arguments_for_RunTests() { const int port = 1; const string assembly = "assembly.dll"; var message = new Message { Payload = JToken.FromObject(new RunTestsMessage { Tests = new List<string> { "test1", "test2" } }) }; var runTestsArgumentsBuilder = new RunTestsArgumentsBuilder(assembly, port, message); var arguments = runTestsArgumentsBuilder.BuildArguments(); arguments.Should().BeEquivalentTo( assembly, "--designtime", "--port", $"{port}", "--wait-command"); }