MSTest V2 с x86 и x64 - PullRequest
       28

MSTest V2 с x86 и x64

0 голосов
/ 29 апреля 2018

У меня есть модульные тесты, которые требуют, чтобы они выполнялись как x86 и x64. Проблема в том, что я не могу запустить все модульные тесты, потому что мне приходится переключать среду из меню «Тест». Есть ли лучший способ сделать это более автоматизированным способом? В идеале должен быть Атрибут, который я мог бы использовать, чтобы указать, был ли тест конкретно x86 или x64. Вот пример моего кода:

[TestMethod]
public void Testx86_Success()
{
    if (!Environment.Is64BitProcess)
    {
        //Arrange
        ...

        //Act
        ...

        //Assert
        Assert.IsTrue(true);
    }
    else
    {
        Assert.Inconclusive("Can't test x64 while running in x86 process.");
    }
}

[TestMethod]
public void Testx64_Success()
{
    if (Environment.Is64BitProcess)
    {
        //Arrange
        ...

        //Act
        ...

        //Assert
        Assert.IsTrue(true);
    }
    else
    {
        Assert.Inconclusive("Can't test x86 while running in x64 process.");
    }
}

1 Ответ

0 голосов
/ 29 апреля 2018

Вы можете объявить условную компиляцию и использовать ее

#if comp_x64
[TestMethod]
public void Testx64_Success()
{
    if (Environment.Is64BitProcess)
    {
        //Arrange
        ...

        //Act
        ...

        //Assert
        Assert.IsTrue(true);
    }
    else
    {
        Assert.Inconclusive("Can't test x86 while running in x64 process.");
    }
}
#else
   . . . . your x86 test 
#endif
...