当前位置: 首页 > 知识库问答 >
问题:

为什么TestNG看到的是我的包而不是我的类?

百里文景
2023-03-14

当我运行(Windows 7命令行)时:

C:\rest-app\src\main\java\com\mycompany\app\test>java org.testng.testng testng.xml

Suite1运行的测试总数:0,失败:0,跳过:0

==================================================

此时我的testng.xml文件如下所示:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="Suite1" verbose="1" >
<test name="SandBoxTests"   >
    <packages>
        <package name="com.mycompany.app.Test" />
    </packages>
</test>
</suite>

当我将testng.xml文件更改为:

<suite name="Suite1" verbose="1" >
<test name="SandBoxTests"   >
    <classes>
        <class name="com.mycompany.app.Test.SandBoxTests">
            <methods>
                <include name="com.mycompany.app.Test.SandBoxTests.TestA"/>
            </methods>
        </class>
    </classes>
 </test>
</suite>

我得到的回应是:

[TestNG][ERROR]在类路径:com.mycompany.app.test.SandboxTests中找不到类

我的类路径如下所示:

C:\rest-app\lib\*;C:\rest-app\src\main\java\com\mycompany\app\test\*

第一个目录指向所有included.jar文件,包括testng,最后一个目录包括我试图运行测试的类文件的位置。我的testng.xml文件也在那里。

package com.mycompany.app.Test;

import com.mycompany.app.RestMethods;
import com.mycompany.app.Test.TestObjects.AutoCompleteList;
import com.mycompany.app.Test.TestObjects.AutocompleteItem;
import com.mycompany.app.Test.TestObjects.Title;
import com.thoughtworks.xstream.XStream;
import org.apache.http.HttpResponse;
import org.testng.Reporter;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

import static org.junit.Assert.assertTrue;


public class SandBoxTests

{...

@BeforeClass
public void SetupSandBoxTests() throws Exception
{

}

@Test
public void TestA() throws Exception
{
    ...
}

...
}

编辑:我更新了类路径,以包括包含TestNG测试的已编译源文件的位置,还包括包含TestNG.xml文件的路径根,但没有任何变化。我补充说:

C:\rest-app\out\production\main\*;C:\rest-app\out\production\main\com\homeaway\app\test\*

<includes>
    <include>**/*.java</include>
</includes>
<suiteXmlFiles>
    <suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>

共有1个答案

鱼宜
2023-03-14

您的源文件可能无法由项目编译。您是否使用maven来执行测试??

 类似资料:
  • 我现在有一个helloworld项目根据这个链接,我做了它的。帽子 文件成功。我有“DE-ABCM_TB”读卡器和SAM卡。 我的小程序AID是 我可以在卡片上选择我的小程序。(我通过"DualCard"发送SELECT APDU命令 2.8版“/pcsc选项卡)。我现在必须在发送时接收十六进制格式的hello 。但我收到6C0B!为什么我会得到这样的回应 我如何解决这个问题?我搜索了一下,但没有

  • 配置:Windows8英文操作系统;JDK1.7;日食。 我安装了一个中国人写的软件,GUI是汉字。但是软件用方框显示得很难看。我在网上搜索了一下,找到了一个修复它的方法。在Win8的控制面板中,将“非Unicode程序的语言”设置为“中文”。 什么是Java默认字符集?是Unicode吗?Java缺省字符集如何与程序员交互?例如,如果Java使用Unicode,那么字符串“ABC”不能编码到其他

  • 我与Wildfly和OpenJPA合作。我有一个乐观锁例外的情况。 我得到的错误消息是: 00:08:29373警告[com.arjuna.ats.arjuna](默认任务-39)arjuna01225:TwoPhaseCoordinator。beforeCompletion-SynchronizationImple失败 :org.apache.openjpa.persistence.乐观锁定异常

  • 我用create-react-app开始这个项目,然后弹出。我正在分析我的webpack包,我得到了这个。 我运行这个命令来分析我的捆绑包- 我有几个问题- > 我在我的应用程序中使用了moment.js,但是当查看我的package.json时,它不在那里。它确实存在于我的纱锁里。为什么会出现这种情况?为什么我的应用程序还能工作? 我使用lodash,但我已经注意导入特定的lodash函数(例如

  • 我已经开始学习如何做出反应,但在这个论坛上找不到答案。一个相关的查询出现在这里 查询:Babel将JSX代码编译为React.createElement(),但在chrome开发者工具中调试期间,我看到的是JSX,而不是编译后的代码。浏览器如何理解这里的JSX语法?然而,逐行调试JSX需要我进入React.createElement函数。 非常感谢你的帮助。