From 6d74535688e8e9a2245f057ddafa03e54c8bcae1 Mon Sep 17 00:00:00 2001 From: Gurpreet Singh Date: Mon, 1 Jun 2026 11:42:46 +0100 Subject: [PATCH] added tests for loading stories from different assembly than the test assembly --- src/Directory.Build.props | 1 + src/SampleStories/LameExternalStory.cs | 12 ++ src/SampleStories/SampleStories.csproj | 11 ++ .../TestStack.BDDfy.Samples.csproj | 2 - ...pectedHtmlWithExternalStories.approved.txt | 110 ++++++++++++++++++ .../Reporters/Html/MetroReportBuilderTests.cs | 18 +++ .../TestStack.BDDfy.Tests.csproj | 3 +- src/TestStack.BDDfy.sln | 14 +++ 8 files changed, 167 insertions(+), 4 deletions(-) create mode 100644 src/SampleStories/LameExternalStory.cs create mode 100644 src/SampleStories/SampleStories.csproj create mode 100644 src/TestStack.BDDfy.Tests/Reporters/Html/MetroReportBuilderTests.ShouldProduceExpectedHtmlWithExternalStories.approved.txt diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 35120582..693271fb 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -13,5 +13,6 @@ false false enable + enable \ No newline at end of file diff --git a/src/SampleStories/LameExternalStory.cs b/src/SampleStories/LameExternalStory.cs new file mode 100644 index 00000000..16c3cd45 --- /dev/null +++ b/src/SampleStories/LameExternalStory.cs @@ -0,0 +1,12 @@ +using Xunit; + +namespace SampleStories +{ + public class LameExternalStory + { + int state = 0; + public void GivenANumberThree() => state = 3; + public void WhenIMultiplyTheNumberByItsef() => state *= state; + public void ThenTheNumberIsSquared() => Assert.Equal(9, state); + } +} diff --git a/src/SampleStories/SampleStories.csproj b/src/SampleStories/SampleStories.csproj new file mode 100644 index 00000000..39df6bf4 --- /dev/null +++ b/src/SampleStories/SampleStories.csproj @@ -0,0 +1,11 @@ + + + + false + + + + + + + diff --git a/src/Samples/TestStack.BDDfy.Samples/TestStack.BDDfy.Samples.csproj b/src/Samples/TestStack.BDDfy.Samples/TestStack.BDDfy.Samples.csproj index 7ff2ec5c..eb227dc8 100644 --- a/src/Samples/TestStack.BDDfy.Samples/TestStack.BDDfy.Samples.csproj +++ b/src/Samples/TestStack.BDDfy.Samples/TestStack.BDDfy.Samples.csproj @@ -15,8 +15,6 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - - all diff --git a/src/TestStack.BDDfy.Tests/Reporters/Html/MetroReportBuilderTests.ShouldProduceExpectedHtmlWithExternalStories.approved.txt b/src/TestStack.BDDfy.Tests/Reporters/Html/MetroReportBuilderTests.ShouldProduceExpectedHtmlWithExternalStories.approved.txt new file mode 100644 index 00000000..22cf1af5 --- /dev/null +++ b/src/TestStack.BDDfy.Tests/Reporters/Html/MetroReportBuilderTests.ShouldProduceExpectedHtmlWithExternalStories.approved.txt @@ -0,0 +1,110 @@ + + + + + + + + BDDfy Test Result 25/03/2014 + + +
+
+

BDDfy

+

A simple BDD framework for .Net developers

+
+
+ +
+
+
+

results

+ show steps + hide steps +
+
    +
  • +
    + +
    +
    +
    Should produce expected html with external stories
    +
      +
    • + Given a number three +
    • +
    • + When I multiply the number by itsef +
    • +
    • + Then the number is squared +
    • +
    +
    +
    +
    +
  • +
+
+
+
+

Tested at: 25/03/2014 11:30:05

+

Powered by BDDfy

+
+ + + + + diff --git a/src/TestStack.BDDfy.Tests/Reporters/Html/MetroReportBuilderTests.cs b/src/TestStack.BDDfy.Tests/Reporters/Html/MetroReportBuilderTests.cs index 1e71ab22..f39a244e 100644 --- a/src/TestStack.BDDfy.Tests/Reporters/Html/MetroReportBuilderTests.cs +++ b/src/TestStack.BDDfy.Tests/Reporters/Html/MetroReportBuilderTests.cs @@ -1,3 +1,4 @@ +using SampleStories; using System; using System.Runtime.CompilerServices; using TestStack.BDDfy.Reporters; @@ -36,5 +37,22 @@ public void ShouldProduceExpectedHtmlWithExamples() var sut = new MetroReportBuilder(); ReportApprover.Approve(model, sut); } + + [Fact] + [MethodImpl(MethodImplOptions.NoInlining)] + public void ShouldProduceExpectedHtmlWithExternalStories() + { + var story = new LameExternalStory(); + var bddfiedStories = new[] { story.BDDfy() }; + + var reportModel = bddfiedStories.ToReportModel(); + var model = new HtmlReportModel(reportModel) + { + RunDate = new DateTime(2014, 3, 25, 11, 30, 5) + }; + + var sut = new MetroReportBuilder(); + ReportApprover.Approve(model, sut); + } } } \ No newline at end of file diff --git a/src/TestStack.BDDfy.Tests/TestStack.BDDfy.Tests.csproj b/src/TestStack.BDDfy.Tests/TestStack.BDDfy.Tests.csproj index 5d5be63b..8e343000 100644 --- a/src/TestStack.BDDfy.Tests/TestStack.BDDfy.Tests.csproj +++ b/src/TestStack.BDDfy.Tests/TestStack.BDDfy.Tests.csproj @@ -6,6 +6,7 @@ + @@ -14,8 +15,6 @@ runtime; build; native; contentfiles; analyzers; buildtransitive
- - diff --git a/src/TestStack.BDDfy.sln b/src/TestStack.BDDfy.sln index 82cf5b9e..cb0bc8c8 100644 --- a/src/TestStack.BDDfy.sln +++ b/src/TestStack.BDDfy.sln @@ -23,6 +23,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestStack.BDDfy", "TestStac EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestStack.BDDfy.Samples", "Samples\TestStack.BDDfy.Samples\TestStack.BDDfy.Samples.csproj", "{267EA75C-EB57-4A15-80E7-9804A7B5F52B}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleStories", "SampleStories\SampleStories.csproj", "{A10675CF-42B7-45E2-A36E-A88454FCDEA7}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -69,6 +71,18 @@ Global {267EA75C-EB57-4A15-80E7-9804A7B5F52B}.Release|x64.Build.0 = Release|Any CPU {267EA75C-EB57-4A15-80E7-9804A7B5F52B}.Release|x86.ActiveCfg = Release|Any CPU {267EA75C-EB57-4A15-80E7-9804A7B5F52B}.Release|x86.Build.0 = Release|Any CPU + {A10675CF-42B7-45E2-A36E-A88454FCDEA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A10675CF-42B7-45E2-A36E-A88454FCDEA7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A10675CF-42B7-45E2-A36E-A88454FCDEA7}.Debug|x64.ActiveCfg = Debug|Any CPU + {A10675CF-42B7-45E2-A36E-A88454FCDEA7}.Debug|x64.Build.0 = Debug|Any CPU + {A10675CF-42B7-45E2-A36E-A88454FCDEA7}.Debug|x86.ActiveCfg = Debug|Any CPU + {A10675CF-42B7-45E2-A36E-A88454FCDEA7}.Debug|x86.Build.0 = Debug|Any CPU + {A10675CF-42B7-45E2-A36E-A88454FCDEA7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A10675CF-42B7-45E2-A36E-A88454FCDEA7}.Release|Any CPU.Build.0 = Release|Any CPU + {A10675CF-42B7-45E2-A36E-A88454FCDEA7}.Release|x64.ActiveCfg = Release|Any CPU + {A10675CF-42B7-45E2-A36E-A88454FCDEA7}.Release|x64.Build.0 = Release|Any CPU + {A10675CF-42B7-45E2-A36E-A88454FCDEA7}.Release|x86.ActiveCfg = Release|Any CPU + {A10675CF-42B7-45E2-A36E-A88454FCDEA7}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE