哪种方法适合断言
which approach is good to for assert
第一种方法:使用 try-catch 块以及 Asset.Fail。
我正在使用这种技术在执行开始前后在记录器中打印几条消息
[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 条件,涉及一个额外的变量
我只是想看看有没有高手可以得到的short approach
[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");
}
第一种方法:使用 try-catch 块以及 Asset.Fail。
我正在使用这种技术在执行开始前后在记录器中打印几条消息
[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 条件,涉及一个额外的变量 我只是想看看有没有高手可以得到的short approach
[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");
}