Skip to content

Order attribute skips classes with multiple test fixtures #3868

Closed
@mozhirin

Description

@mozhirin

I'm ordering some simple test classes by applying Order attribute.

namespace TestProject1
{
    [Order(2)]
    public class Class1
    {
       [Test]
        public void A()
        {
            Console.WriteLine("A");
        }
    }
    
    [Order(1)]
    public class Class2
    {
        [Test]
        public void B()
        {
            Console.WriteLine("B");
        }
    }
    
    [Order(0)]
    public class Class3
    {
        [Test]
        public void C()
        {
            Console.WriteLine("C");
        }
    }
}

And getting expected output:

C
B
A

Then I'm adding TestFixture attribute to one of the classes:

[TestFixture("1")]
[Order(1)]
public class Class2
{
    private string s;
    public Class2(string s)
    {
        this.s = s;
    }

    [Test]
    public void B()
    {
        Console.WriteLine("B");
    }
}

And still getting expected output:

C
B
A

But when I'm adding second TestFixture

[TestFixture("1")]
[TestFixture("2")]
[Order(1)]
public class Class2
{
    private string s;
    public Class2(string s)
    {
        this.s = s;
    }

    [Test]
    public void B()
    {
        Console.WriteLine("B");
    }
}

And I'm getting

C
A
B
B

instead of

C
B
B
A

Is this expected behavior and I'm missing something or a bug?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions