public void Should_Run_Local_Tool_First_By_Default_And_Fallback_To_Global_Tool() { var fixture = new MinVerToolFixture(_log); fixture.GivenLocalToolFailsToRun(); var result = fixture.Run(); fixture.LocalTool.ShouldHaveRunOnce(); fixture.GlobalTool.ShouldHaveRunOnce(); fixture.LocalTool.ShouldHaveRunFirst(); fixture.GlobalTool.ShouldHaveRunSecond(); result.Version.Should().Be(MinVerToolOutputs.DefaultVersionForGlobalTool); }
public void Should_Not_Fallback_If_NoFallback_Is_True() { var fixture = new MinVerToolFixture(_log) { Settings = { NoFallback = true }, }; fixture.GivenLocalToolFailsToRun(); fixture.Invoking(f => f.Run()) .Should().ThrowExactly <CakeException>() .And.Message.Should().StartWith("MinVer: Process returned an error (exit code 1)"); fixture.LocalTool.ShouldHaveRunOnce(); fixture.GlobalTool.ShouldNotHaveRun(); }