public static void ScriptThrowsAnException(bool debug, ScenarioDirectory directory, Exception exception) { var scenario = MethodBase.GetCurrentMethod().GetFullName(); "Given a script which throws an exception" .f(() => directory = ScenarioDirectory.Create(scenario) .WriteLine("foo.csx", @"throw new Exception(""BOOM!"");")); "When I execute the script with debug set to {0}" .f(() => exception = Record.Exception(() => ScriptCsExe.Run("foo.csx", debug, directory))); "Then scriptcs fails" .f(() => exception.ShouldBeType<ScriptCsException>()); "And I see the exception message" .f(() => exception.Message.ShouldContain("BOOM!")); }
public static void UnexpectedOption(Exception exception) { var scenario = MethodBase.GetCurrentMethod().GetFullName(); "When I execute scriptcs with an unknown option" .f(() => exception = Record.Exception(() => ScriptCsExe.Run( new[] { "-unknownoption" }, ScenarioDirectory.Create(scenario)))); "Then scriptcs errors" .f(() => exception.ShouldBeType<ScriptCsException>()); "And I see an error message regarding the unknown option" .f(() => { exception.Message.ShouldContain("unknownoption"); }); "And I see scriptcs usage details" .f(() => exception.Message.ShouldContain("Usage:")); }