2015-06-25 2 views
0

Я пытаюсь сделать снимок экрана неудавшегося тестового примера в сериале C#.Как сделать снимок экрана, если Assert.AreEqual не удается? Как установить условие с Assert.AreEqual?

Но я не знаю, как использовать, если условие с Assert.AreEqual.

Я также пытался использовать if(Assert.Equals == false), но это не работает.

Может ли кто-нибудь помочь?

ответ

0

Это поможет увидеть больше вашего фактического теста, но поскольку Assert.Equals не возвращает значение, вы можете разбить его на несколько этапов.

Например, если у вас есть это:

Assert.AreEqual(value1, value2); 

Тогда вы могли бы заменить его следующим образом:

var areValuesEqual = (value1 == value2); 

Assert.IsTrue(areValuesEqual); 

if (!areValuesEqual) 
{ 
    // rest of testing logic 
} 
1

Ну на самом деле, "Asset.AreEqual" принимает три параметра 1. ожидаемый результат in bool 2. Исходный результат в bool 3. сообщение об ошибке

если ожидаемый и оригинальный не соответствует i t выдает ошибку, и для скриншота вам нужно использовать try-catch, я уже давно это использовал.

общественной недействительная AreEqual (BOOL ожидается, результат BOOL, строка комментарий = "", строка pictureName = "") { попробовать { Assert.AreEqual (ожидаемый, результат, комментарий);

 } 
     catch 
     { 
      /// will capture a screenshot of errors 
      if (string.IsNullOrEmpty(pictureName) && !string.IsNullOrEmpty(comment)) 
      { 
       int length = comment.Replace(" ", string.Empty).Length; 
       if (length > 30) 
        length = 30; 
       pictureName = comment.Replace(" ", string.Empty).Substring(0, length); 
      } 
      pictureName = (pictureName == "" ? Guid.NewGuid().ToString() : pictureName); 
      GetScreenShot(pictureName); 

    // Getscreenshot function capture image for me u need to put your code here(before throw)  
      throw; 
     } 
    } 
Смежные вопросы