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);
        }
Ejemplo n.º 2
0
        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");
        }