Exemple #1
0
        public void ReportOnTechDebtAndFailTestIfTotalPainExceeded()
        {
            var assemblyContainingTechDebt = Assembly.GetAssembly(typeof(SomeThing));

            const int maximumPainInCodebaseThatWereWillingToLiveWith = 10;

            TechDebtReporter.AssertMaxPainNotExceeded(assemblyContainingTechDebt, maximumPainInCodebaseThatWereWillingToLiveWith);
        }
Exemple #2
0
        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));
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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));
        }