13

I'm migrating from MbUnit to xUnit, and I'm trying to locate the equivalent attributes (or approach) to MbUnit's [CombinatorialJoin] and [Column].

For example, when testing common behavior of a function with multiple boolean parameters, [Column] makes it very easy to test the permutations:

public void TestMethodWithTooManyOptions([Column(true, false)] bool dispose,
                                        [Column(true, false)] bool useDestinationStream,
                                        [Column(true, false)] bool useCorruptedSource,
                                        [Column(true, false)] bool loadTwice,
                                        [Column(true, false)] bool useSourceStream) {

[CombinatorialJoin], [SequentialJoin], [PairwiseJoin] affect how columns (or rows) are permuted.

Lilith River
  • 16,204
  • 2
  • 44
  • 76

2 Answers2

16

This is perhaps a correct response...

https://github.com/AArnott/Xunit.Combinatorial

George
  • 2,451
  • 27
  • 37
1

If you use ApprovalTests, you can create an xUnit.net Fact and the CombinationApprovals.VerifyAllCombinations method to run combinatorial tests.

It's not the same as using an attribute, but it's the best solution I have found in xUnit.

kevinpo
  • 1,853
  • 19
  • 20