当JUnit类有多个导入时,如何从Windows CMD窗口运行JUnit测试?
这是我的JUnit测试类:package com.bynarystudio.tests.storefront;
import java.util.List; import org.junit.Assert; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import com.bynarystudio.tests.BaseWebTest; public class SmokeTests extends BaseWebTest { @Test public void StoreFrontMegaNavTest(){ webDriver.get(default_homepage); String source = webDriver.getPageSource(); Assert.assertTrue(source.contains("some text")); } }
如何从命令行运行此测试? 当我尝试使用时从其目录中运行它
java -cp junit.textui.TestRunner SmokeTests.java
我收到以下错误
Could not find the main class: SmokeTests.java. Program will exit.
我认为这与我的类路径设置不正确这一事实有关。 但我不知道因为我是Java的新手。 来自.NET,C#和Visual Studio,整个类路径事情毫无意义。 即使我已将所有文件正确添加到Eclipse中的项目中(我知道因为Eclipse内部的测试运行良好),它绝对不会从命令行运行或编译。
首先,你要混合两件事:
-
首先,您必须使用javac命令编译项目。 因此,您将获得一组.class文件(而不是.java – >这是源代码)
-
然后,您可以使用java命令运行代码:java -cp classPath yourpackage.SmokeTests
哪里:
classPath – 是编译类所在的目录或jar文件列表,如果你使用“;”将多个条目分隔开来。 (windows)或“:”(Linux)
所以你的classPath可以是:-cp .; c:/ jars / *; deps
这意味着您的类路径将包含:
- 当前目录
- 来自c:/ jars / *的所有jar文件
- 来自工作目录中的deps目录中的所有jar文件
所以完整的命令可以是:
java -cp。; c:/ jars / *; deps SmokeTests
yourpackage – 是SmokeTests类的包,如果你没有在SmokeTests.java中定义包,请将其留空