C# 哪种方法适合断言
第一种方法:使用try-catch块和Asset。也失败 我使用这种技术在开始执行之前和之后在记录器中打印一些消息C# 哪种方法适合断言,c#,selenium,selenium-webdriver,mstest,assert,C#,Selenium,Selenium Webdriver,Mstest,Assert,第一种方法:使用try-catch块和Asset。也失败 我使用这种技术在开始执行之前和之后在记录器中打印一些消息 [TestMethod] public void abcButton() { want to print messages so many Logger signs are here Utility.Logger.Write("** " + string.Format(" {0} - {1}", GetType().Name, Method
[TestMethod]
public void abcButton()
{
want to print messages so many Logger signs are here
Utility.Logger.Write("** " + string.Format(" {0} - {1}", GetType().Name, MethodName) + " Test Case is started *****");
Utility.Logger.Write("***********************");
try
{
Assert.IsTrue(LoginPage.CheckBtn());
Utility.Logger.Write("********************");
Utility.Logger.Write("***** " + string.Format(" {0} - {1}", GetType().Name, MethodName) + " Test Case is Passed *****");
Utility.Logger.Write("******************************************************");
}
catch
{
Utility.Logger.Write("*************************");
Utility.Logger.Write("***** " + string.Format(" {0} - {1}", GetType().Name, MethodName) + " Test Case is Failed *****");
Utility.Logger.Write("*********************");
Assert.Fail();
}
}
或
第二种方法:使用if-else条件,涉及一个额外的var
我只是想看看是否有一个简短的方法可以从专家那里得到
[TestMethod]
public void abcButton()
{
Utility.Logger.Write("** " + string.Format(" {0} - {1}", GetType().Name, MethodName) + " Test Case is started *****");
Utility.Logger.Write("***********************");
var val = LoginPage.CheckBtn() ;
if(val)){
Assert.IsTrue(val);
Utility.Logger.Write("********************");
Utility.Logger.Write("***** " + string.Format(" {0} - {1}", GetType().Name, MethodName) + " Test Case is Passed *****");
Utility.Logger.Write("**************************************");
}
else
{
Utility.Logger.Write("*************************");
Utility.Logger.Write("***** " + string.Format(" {0} - {1}", GetType().Name, MethodName) + " Test Case is Failed *****");
Utility.Logger.Write("*********************");
}
}
请让我知道我们是否可以用更少的代码处理这种情况我会这样编写测试:
[TestMethod]
public void abcButtonTest()
{
Assert.IsTrue(LoginPage.CheckBtn(), "Checking return value");
}
基本示例:
[TestMethod]
public void TestMethod1()
{
Assert.IsTrue(false, "Assert failed");
}
我会这样写测试:
[TestMethod]
public void abcButtonTest()
{
Assert.IsTrue(LoginPage.CheckBtn(), "Checking return value");
}
基本示例:
[TestMethod]
public void TestMethod1()
{
Assert.IsTrue(false, "Assert failed");
}
可以,但当它失败时,您将如何打印失败消息?Utility.Logger.Write(“***************************失败”);MS Test使用第2个参数作为failure message.agree的一部分,但我想在单独的日志txt文件中记录相同的参数。我们将如何发送失败消息。请把上面的代码通读一遍。谢谢你的回复。我也曾想过在Driver.close方法中处理,但我需要再次返回,到目前为止,这不是一个好的解决方案。这是我的问题,如果您使用just Assert,那么您将如何在日志文本文件中写入它。@MikeASP问题是。。。为什么要将所有内容记录两次?好的,但当它失败时,您将如何打印失败消息?Utility.Logger.Write(“***************************失败”);MS Test使用第2个参数作为failure message.agree的一部分,但我想在单独的日志txt文件中记录相同的参数。我们将如何发送失败消息。请把上面的代码通读一遍。谢谢你的回复。我也曾想过在Driver.close方法中处理,但我需要再次返回,到目前为止,这不是一个好的解决方案。这是我的问题,如果您使用just Assert,那么您将如何在日志文本文件中写入它。@MikeASP问题是。。。你为什么要把所有东西都记录两次?