public void ReportOnTechDebtAndFailTestIfTotalPainExceeded() { var assemblyContainingTechDebt = Assembly.GetAssembly(typeof(SomeThing)); const int maximumPainInCodebaseThatWereWillingToLiveWith = 10; TechDebtReporter.AssertMaxPainNotExceeded(assemblyContainingTechDebt, maximumPainInCodebaseThatWereWillingToLiveWith); }
public void ReportOnTechDebtButNeverFailATest() { var assemblyContainingTechDebt = Assembly.GetAssembly(typeof(SomeThing)); var report = TechDebtReporter.GenerateReport(assemblyContainingTechDebt); Console.WriteLine(report); }
public void ShouldRenderReportWithMultipleAssemblies() { var assemblyToReportOn = new[] { Assembly.GetAssembly(typeof(SomeThing)), Assembly.GetAssembly(typeof(Mango)) }; Approvals.Verify(TechDebtReporter.GenerateReport(assemblyToReportOn)); }
public void ReportOnTechDebtAndFailTestIfTotalPainExceeded() { var assemblyContainingTechDebt = Assembly.GetAssembly(typeof(Book)); //would need team / business descision as to how much pain we are willing to incur //find code hotspots see how often things change, also how easy is it to change this will give pain metric const int maximumPainInCodebaseThatWereWillingToLiveWith = 50; TechDebtReporter.AssertMaxPainNotExceeded(assemblyContainingTechDebt, maximumPainInCodebaseThatWereWillingToLiveWith); }
public void ShouldRenderReportWithMultipleAssemblies() { var assemblyToReportOn = new[] { Assembly.GetAssembly(typeof(Book)) }; string report = TechDebtReporter.GenerateReport(assemblyToReportOn); Console.Write(report); }
public void ShouldNotThrowExceptionWhenPainIsAcceptableToTeam() { var assemblyToReportOn = Assembly.GetAssembly(typeof(SomeThing)); TechDebtReporter.AssertMaxPainNotExceeded(assemblyToReportOn, int.MaxValue); }
public void ShouldThrowExceptionWhenPainLimitExceeded() { var assemblyToReportOn = Assembly.GetAssembly(typeof(SomeThing)); Assert.Throws <TechDebtPainExceededException>(() => TechDebtReporter.AssertMaxPainNotExceeded(assemblyToReportOn, 1)); }
public void ShouldRenderReport() { var assemblyToReportOn = Assembly.GetAssembly(typeof(SomeThing)); Approvals.Verify(TechDebtReporter.GenerateReport(assemblyToReportOn)); }