Java 如何使bat文件成为JUnit4测试套件,而不使用Eclipse,而是使用命令行?
我完成了我的两个项目,一个是真实的,另一个模拟一个只生成一些数据的服务器,现在我制作了一个junit测试套件来测试它和所有的工作 现在是将真实项目和测试一起发送给制作真实服务器项目并生成真实数据的朋友的时候了 所以我现在需要以某种方式准备测试,这样他就可以在命令行上运行它们了,但我不知道怎么做 我在网上搜索了一下,没有办法从命令行运行测试套件……我希望你能帮助我 以下是我在测试项目中的内容: AllTests类是一个测试套件,我可以从中运行其中列出的所有测试:Java 如何使bat文件成为JUnit4测试套件,而不使用Eclipse,而是使用命令行?,java,unit-testing,batch-file,command-line,junit,Java,Unit Testing,Batch File,Command Line,Junit,我完成了我的两个项目,一个是真实的,另一个模拟一个只生成一些数据的服务器,现在我制作了一个junit测试套件来测试它和所有的工作 现在是将真实项目和测试一起发送给制作真实服务器项目并生成真实数据的朋友的时候了 所以我现在需要以某种方式准备测试,这样他就可以在命令行上运行它们了,但我不知道怎么做 我在网上搜索了一下,没有办法从命令行运行测试套件……我希望你能帮助我 以下是我在测试项目中的内容: AllTests类是一个测试套件,我可以从中运行其中列出的所有测试: package test.dss;
package test.dss;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({
TestAddAndDeleteScript.class,
TestEnumerateScripts.class,
TestEnumerateTemplates.class,
TestExecute.class,
TestGetAllImportsList.class,
TestGetBindings.class,
TestGetSource.class,
TestGetTemplate.class,
TestLogin.class,
TestLogout.class,
TestOpenAndCloseFile.class,
TestReloadLastLog.class,
TestSetDates.class,
TestSetPatientList.class,
TestStartStopTimer.class,
TestUpdateBindingParameters.class,
TestUpdateScript.class,
TestUpdateSharedUserList.class,
TestUpdateTextArea.class
})
public class AllTests {
}
然后是针对其他项目的测试:
使用AllTests类中的类似代码:
package test.mw;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({
TestEnumerateParams.class,
TestEnumeratePatients.class, // za properties, pogledati red 55
TestEnumerateScripts.class,
TestGetAll.class,
TestGetResults.class,
TestLogin.class,
TestLogout.class,
TestRaiseAlarm.class,
TestRegisterUnregisterScript.class,
TestSaveResult.class
})
public class AllTests {
}
现在,我从工作区中删除了测试,并将其放在桌面上,并且必须弄清楚如何在命令行中测试它,而我的两个项目在本地主机上的elipse中运行
最重要的是,我想创建一个BAT文件,我的朋友可以从命令行运行它,然后测试他的部件mw部件
是的,我忘了提到,我需要运行测试的所有JAR都在JRE系统库、JUnit4和来自lib文件夹的引用库中
因此,我在桌面上创建了一个CMD Tests文件夹,并复制了测试中的所有文件,如下所示:
java -cp "lib/*;bin" org.junit.runner.JUnitCore test.dss.AllTests test.mv.AllTests
以下是我问题的两部分:
a如何使用两个测试套件同时测试它们?
a、 b如果没有办法,如何单独测试每个类?
b如何使一个bat文件同时运行
请帮忙 如果要同时测试它们,则无需创建两个测试套件。只需将所有测试类放在一个套件中 但是,从两个套件运行测试将以某种方式如下所示:
java -cp "lib/*;bin" org.junit.runner.JUnitCore test.dss.AllTests test.mv.AllTests
只要在项目的根目录中放置一个包含此内容的.bat文件,就可以开始了
您也可以使用相同的命令来运行特定的测试,意思是:
java -cp "lib/*;bin" org.junit.runner.JUnitCore test.dss.TestExecute
注意:我不知道如何编译类。我猜它们都在垃圾箱文件夹里。如果他们不只是将适当的文件夹添加到-cp部分。不,这里描述了如何测试单个类,而不是整个套件,而且不管怎样,我不知道如何将我的JAR添加到类路径和所有…也许有帮助?少一点,第一个,如下所示:C:\Users\OSI\Desktop\CMD Tests\Tests>java-cp junit.jar org.junit unner.JUnitCore TestLogin错误:无法找到或加载主类org.junit.runner.JUnitCore,我不知道如何将junit.jar添加到cp中,但是他在JUnit4文件夹中,在我的测试文件夹中找不到。请看最后一张图片,一旦我转到lib文件夹,在那里我放置了junit.jar文件,并运行相同的命令,有一个新的错误:时间:0.003有一个失败:1初始化错误org.junit.runner.JUnitCommandLineParseResult java.lang.IllegalArgumentException:找不到类[TestLogin]……所以我需要帮助……thx man,你帮了很多忙,但我似乎有个问题,你能告诉我我该去哪里吗,若要在命令提示符下运行此命令?我遇到了一个问题,一旦我将其放在根文件夹中并运行它,就会出现找不到类test.dss.Tests错误该文件应位于项目的根文件夹中,与src、build和lib所在的目录相同。找不到类test.dss.Tests仅表示类路径中没有适当的类文件。您如何构建/编译项目?您必须将包含生成的类文件(扩展名为.class)的文件夹包含在-cp部分。所有my.class文件都位于bin/test/dss和bin/test/mw中。如果您更新了答案,请立即重试