Java TestNG显示0测试运行

Java TestNG显示0测试运行,java,selenium,testng,assert,Java,Selenium,Testng,Assert,我正在尝试使用testNG执行我的测试脚本,并尝试下面的代码,但是控制台中针对run、fail和skip显示了0。因此,我无法验证脚本中的结果 爪哇: 包com.demoaut.newtours.testcases; 导入org.testng.Assert; 导入org.testng.annotations.Test; //导入junit.framework.Assert; 公共类TC002_CheckAssert{ @试验 公共TC002_CheckAssert(){ System.out.p

我正在尝试使用testNG执行我的测试脚本,并尝试下面的代码,但是控制台中针对run、fail和skip显示了0。因此,我无法验证脚本中的结果

爪哇:

包com.demoaut.newtours.testcases;
导入org.testng.Assert;
导入org.testng.annotations.Test;
//导入junit.framework.Assert;
公共类TC002_CheckAssert{
@试验
公共TC002_CheckAssert(){
System.out.println(“ajkcbh”);
试一试{
Assert.assertEquals(“通过”、“通过”);
}
捕获(例外e){
System.out.println(“异常:+e.getLocalizedMessage());
}
}
}
我正在通过testng.xml文件执行上述脚本

<suite name="Suite">
  <test name="Test">
   <classes>
      <class name="com.demoaut.newtours.testcases.TC002_CheckAssert" />
   </classes>
  </test>
</suite>

代码块中有一个小错误。当您使用
TestNG
@Test
注释中的写入方法时,我们应该使用适当的
返回类型定义这些方法。我使用了您自己的代码,并简单地将返回类型添加为void,如下所示:

import org.testng.Assert;
import org.testng.annotations.Test;

public class Q45191867_Assert_Pass_Suite 
{

    @Test   
    public void TC002_CheckAssert() 
    {
        System.out.println("ajkcbh");
        try
        {
            Assert.assertEquals("Pass", "Pass");
        }
        catch(Exception e)
        {
            System.out.println("Exception:"+e.getLocalizedMessage());
        }
    }
}
当作为
TestNG Test
执行时,代码块将成功执行

我已使用以下
TestNG.xml
执行代码块转换为
TestNG
,如下所示:

import org.testng.Assert;
import org.testng.annotations.Test;

public class Q45191867_Assert_Pass_Suite 
{

    @Test   
    public void TC002_CheckAssert() 
    {
        System.out.println("ajkcbh");
        try
        {
            Assert.assertEquals("Pass", "Pass");
        }
        catch(Exception e)
        {
            System.out.println("Exception:"+e.getLocalizedMessage());
        }
    }
}

您的代码块中有一个小错误。当您使用
TestNG
@Test
注释中的写入方法时,我们应该使用适当的
返回类型定义这些方法。我使用了您自己的代码,并简单地将返回类型添加为void,如下所示:

import org.testng.Assert;
import org.testng.annotations.Test;

public class Q45191867_Assert_Pass_Suite 
{

    @Test   
    public void TC002_CheckAssert() 
    {
        System.out.println("ajkcbh");
        try
        {
            Assert.assertEquals("Pass", "Pass");
        }
        catch(Exception e)
        {
            System.out.println("Exception:"+e.getLocalizedMessage());
        }
    }
}
当作为
TestNG Test
执行时,代码块将成功执行

我已使用以下
TestNG.xml
执行代码块转换为
TestNG
,如下所示:

import org.testng.Assert;
import org.testng.annotations.Test;

public class Q45191867_Assert_Pass_Suite 
{

    @Test   
    public void TC002_CheckAssert() 
    {
        System.out.println("ajkcbh");
        try
        {
            Assert.assertEquals("Pass", "Pass");
        }
        catch(Exception e)
        {
            System.out.println("Exception:"+e.getLocalizedMessage());
        }
    }
}


是否使用maven命令运行?否。我没有使用maven。您确定在输出中看到了
ajkcbh
。这意味着您的测试实际上正在运行。还有一件事,你在哪个IDE中运行这个测试,如果是elicpse,你确定安装了testng插件吗。@Durgesh-你需要告诉我们你是如何运行这个测试的?它还有一个编译错误。如果没有返回类型,则无法定义方法。所以我不确定您是如何编译这个测试类的(所以我猜这可能是一个复制粘贴错误)?您还可以在
标记中将
verbose=“3”
添加到您的套件xml文件中,并共享完整的输出吗?事实上,问题是我在构造函数中编写了代码,如果我们在构造函数中使用Assert语句,则它们不起作用。当我在方法中使用它们时(例如,通过给出返回类型并更改其名称,将我的构造函数更改为方法)然后它工作了。你是用maven命令运行的吗?不。我没有用maven。你确定你在输出中看到了
ajkcbh
这一点吗。这意味着你的测试实际上正在运行。还有一件事,你在哪个IDE中运行这个测试,如果是elicpse,你确定安装了testng插件。@Durgesh-你需要告诉我们你是如何运行的ng此测试?它还有一个编译错误。如果没有返回类型,则无法定义方法。因此,我不确定您是如何让此测试类进行编译的(因此我猜这可能是一个复制粘贴错误)?您还可以添加
verbose=“3”吗
到您的套件xml文件的
标记中,并共享完整的输出?事实上,问题是我在构造函数中编写了代码,如果我们在构造函数中使用Assert语句,那么它们就不起作用了。当我在方法中使用它们时(例如,通过给出返回类型并更改其名称,将构造函数更改为方法)那么它基本上需要一个断言,对吗?那么它基本上需要一个断言,对吗?