2012-04-13 12 views
0

私のJUnitテストクラスは次のとおりです。 package com.bynarystudio.tests.storefront;JUnitクラスに複数のインポートがある場合、Windows CMDウィンドウからJUnitテストを実行するにはどうすればよいですか?

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の内部からテストが正常に実行されるため)、コマンドラインから絶対に実行されたりコンパイルされたりしません。あなたは二つのことを混合しているすべての

答えて

2

まず:

  1. 最初に、javacコマンドを使用してプロジェクトをコンパイルする必要があります。 のjava -cpのclassPath yourpackage.SmokeTests

: - (>これは、ソースコードではないの.java)

  • その後、あなたはjavaコマンドを使用してコードを実行することができますが、.classファイルのセットを取得しますその結果、

    のclassPathは - ディレクトリまたはjarファイルのリストがどこにあるか、あなたのコンパイルされたクラスです、あなたは複数のエントリを使用してそれらを分離jave場合は「;」 (Windows)または ":"(Linux)の

    ので、あなたのクラスパスが指定できます。-cp; C:/瓶/ *は、あなたのクラスパスに含まれていることを意味している

    をDEPS:

    • 現在Cからディレクトリ
    • すべてのjarファイルは:/瓶/ *
    • すべてのjarファイルdepsのディレクトリからあなたの作業ディレクトリ

    であるので、完全なコマンドは次のようになりますことができます。

    のjava -cp; C:/瓶/ *;スモークテストをDEPS

    yourpackageは - あなたはパッケージがで定義されていない場合は、スモークテストクラスのパッケージです。 SmokeTests.javaは空のままにしておきます

  • 関連する問題