2010-03-02 40 views
5

Tôi có nhiều bài kiểm tra JUnit, tất cả đều được tạo bởi trợ lý của Netbeans (do đó không có gì được tùy chỉnh). Tôi có thể chạy mọi thử nghiệm theo cách thủ công bằng cách thực hiện "Kiểm tra tệp" (Ctrl + F6).Netbeans: "Run -> Test Project" không làm bất cứ điều gì

Nhưng khi tôi sử dụng "Run -> Test Project", thông báo "No Tests execute" được hiển thị.

Tôi có phải đăng ký mọi bài kiểm tra JUnit ở đâu đó không?
Hoặc điều gì có thể là vấn đề ở đây?

Trước đó, xuất hiện trong cửa sổ đầu ra sau đây:

init: 
Deleting: /MY-WORK/my.data.adv/build/built-jar.properties 
deps-jar: 
Updating property file: /MY-WORK/my.data.adv/build/built-jar.properties 
my.commons.init: 
my.commons.deps-jar: 
Updating property file: /MY-WORK/my.data.adv/build/built-jar.properties 
my.commons.compile: 
Copy libraries to /MY-WORK/my.commons/dist/lib. 
my.commons.jar: 
my.data.init: 
my.data.deps-jar: 
Updating property file: /MY-WORK/my.data.adv/build/built-jar.properties 
my.data.compile: 
Copy libraries to /MY-WORK/my.data/dist/lib. 
my.data.jar: 
compile: 
compile-test: 
test-report: 
test: 
BUILD SUCCESSFUL (total time: 0 seconds) 

EDIT

  • Các loại dự án là "lớp học thư viện", không cấu hình tùy chỉnh trong build.xml được sử dụng.

  • Có thể có liên quan đến đề cập đến, dự án cũ (được tạo bằng một số phiên bản Netbeans trước 6.7).

+0

loại gì của dự án chính xác? (Máy tính để bàn, Web, khác) –

+0

cách bạn đặt tên tệp lớp và bạn đã đặt tệp ở đâu? – Karussell

+0

Mọi thứ đều ** cổ điển **: Các bài kiểm tra JUnit nằm trong thư mục gói "test" (nhãn "Test Packages"). Các bài kiểm tra JUnit nằm trong gói, có cùng tên với các lớp đang được kiểm tra. –

Trả lời

8

Kể từ khi tôi đã đệ trình đầu mối đúng cần thiết để tạo ra một câu trả lời, tôi hình dung rằng tôi nên thêm một chút giá trị cho nó ...

Nếu bạn tạo một dự án Java-> Class Library với NetBeans, bạn có thể tạo một bài kiểm tra đơn vị liên kết với mỗi lớp trong các gói nguồn của dự án của bạn. Bạn chỉ cần nhấp chuột phải vào lớp trong trình khám phá Dự án.

Nếu bạn đang tạo các 'thử nghiệm đầu tiên' cho một dự án, IDE cho phép bạn lựa chọn giữa JUnit 3 và 4. JUnit

Khi bạn tạo một thử nghiệm cho abcNewClass, NetBeans sẽ cho phép bạn đặt tên cho thử nghiệm bất cứ điều gì bạn muốn và đặt thử nghiệm trong bất kỳ gói nào bạn muốn ... hầu hết thời gian, bạn không muốn thay đổi các giá trị mặc định xuất hiện trong hộp thoại (abcNewClassTest). Trong phiên bản NetBeans 6.9, một cảnh báo sẽ xuất hiện nếu tên của bài kiểm tra bạn sắp tạo không có "Kiểm tra" làm hậu tố của nó.

Nếu bạn tạo tên lớp thử nghiệm không kết thúc bằng "Kiểm tra", bạn vẫn có thể chạy chúng khi bạn sử dụng tác vụ Kiểm tra trên dự án. Bạn chỉ cần kích hoạt chúng từ một lớp thử nghiệm 'bình thường'.

6

Nhờ người dùng vkraemer!

Giải pháp là: Chỉ các kiểm tra JUnit mới chạy khi tên của họ kết thúc bằng Test.

Mục từ build-impl.xml chứng minh điều đó:

<target depends="init,compile-test,-pre-test-run" 
    if="have.tests" name="-do-test-run"> 
    <j2seproject3:junit testincludes="**/*Test.java"/> 
</target> 
0

xét nghiệm của tôi đang làm việc thì họ dừng lại, chỉ hiển thị:.

Không kiểm tra thực hiện (0,0 s)

Vấn đề là một không gian phụ trong VM Options: sau -D.Điều này gây ra vấn đề:

-D mysetting.home=something 

và điều này cố định nó:

-Dmysetting.home=something 
1

Nếu bạn đang sử dụng maven, bạn có thể muốn kiểm tra chắc chắn hơn Plugin của bạn trên pom.xml

... 
<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.11</version> 
      <configuration> 
       <includes> 
        <include>**/*Test.java</include>       
       </includes> 
       <systemPropertyVariables> 
        <java.util.logging.config.file>src/test/resources/logging.properties</java.util.logging.config.file> 
       </systemPropertyVariables> 
      </configuration> 
     </plugin> 


    ... 
Các vấn đề liên quan