Lilith River
Lilith River

Reputation: 16468

Combinatorial data in xUnit.NET?

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.

Upvotes: 16

Views: 4289

Answers (2)

George
George

Reputation: 2821

This is perhaps a correct response...

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

Upvotes: 20

kevinpo
kevinpo

Reputation: 1963

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.

Upvotes: 1

Related Questions