Если я правильно понимаю ваш вопрос, вы спрашиваете, можете ли вы использовать Assert.AreEqual()
более одного раза в одном тесте.Ответ в том, что вы определенно можете;следует или нет, это другой вопрос:
public void validateInventoryMeasurement(string Data, string itemStatus)
{
// Arrange
var expected = 10;
int anotherValue = 0;
// Act
var actual = Calculatevalue(ref anotherValue);
// Assert
Assert.AreEqual(expected, actual); // Will trigger the unit test to fail if the assertion is not met
Assert.AreEqual(5, anotherValue); // Will trigger the unit test to fail, assuming that the above condition is met
}
Если вам нужно сделать это, то может быть лучший способ структурировать ваш код, чтобы вы могли иметь одно действие и одно утверждение, котороеИМХО делает тест более понятным и легким для чтения.
Исходя из дальнейших комментариев, вам может потребоваться декоратор TestCase
.Это позволяет вам создать один фрагмент кода, который выполняется один раз для каждой переменной, определенной в TestCase
.Например:
[TestCase("data1","status1", "valid")]
[TestCase("data2","status2", "invalid")]
[TestCase("data3","status3", "valid")]
[TestCase("data1","status1", "valid")]
public void validateInventoryMeasurement(string Data, string itemStatus, string expectedresult)
{
// Arrange
var expected = expectedresult;
// Act
var actual = Calculatevalue();
// Assert
Assert.AreEqual(expected, actual);
}