哪种方法对断言有好处

时间:2017-12-05 23:35:06

标签: c# selenium selenium-webdriver mstest 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条件,再涉及一个额外的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("*********************");
    }
}

如果我们能用更少的代码处理这种情况,请告诉我

1 个答案:

答案 0 :(得分:1)

我会写这样的测试:

[TestMethod]
public void abcButtonTest()
{
    Assert.IsTrue(LoginPage.CheckBtn(), "Checking return value");
}

基本示例:

[TestMethod]
public void TestMethod1()
{
    Assert.IsTrue(false, "Assert failed");
}

enter image description here