2011-09-13 27 views
6

Tôi đang sử dụng Spring, TestNG, Eclipse, Maven, Mac OSTestNG trường hợp thử nghiệm không được biên dịch khi tôi làm dự án -> sạch

Kịch bản là

Tôi đang làm một số thay đổi trong các trường hợp thử nghiệm của tôi (trường hợp kiểm tra TestNG),

Sau đó, tôi làm dự án -> sạch trong eclipse

Bây giờ tôi đang chạy các tập tin kiểm tra, nhưng những thay đổi không được cập nhật.

Tôi nghi ngờ rằng các tệp thử nghiệm không được biên soạn.

tôi có thể chạy các máy chủ và tôi có thể chạy webservices tôi

Nhưng nếu tôi chạy thử nghiệm maven (thử nghiệm mvn), toàn bộ mã được biên soạn bao gồm cả trường hợp thử nghiệm.

Vì vậy, để chạy các trường hợp thử nghiệm, tôi chỉ chạy lệnh kiểm tra mvn.

Không thể chạy qua nhật thực.

Eclipse config:

Auto xây dựng trên

Trong Java xây dựng con đường các gói thử nghiệm được bao gồm

Nếu bạn cần bất kỳ thông tin hơn tôi sẽ cung cấp.

org.testng.TestNGException: 
    Cannot find class in classpath: com.***.***.model.***.case.CaseModelImplTest 
     at org.testng.xml.XmlClass.loadClass(XmlClass.java:76) 
     at org.testng.xml.XmlClass.init(XmlClass.java:68) 
     at org.testng.xml.XmlClass.<init>(XmlClass.java:54) 
     at org.testng.xml.TestNGContentHandler.startElement(TestNGContentHandler.java:512) 
     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501) 
     at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179) 
     at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:788) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) 
     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) 
     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) 
     at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) 
     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) 
     at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) 
     at javax.xml.parsers.SAXParser.parse(SAXParser.java:395) 
     at javax.xml.parsers.SAXParser.parse(SAXParser.java:198) 
     at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:17) 
     at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:10) 
     at org.testng.xml.Parser.parse(Parser.java:170) 
     at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:304) 
     at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:86) 
     at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:199) 
     at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:170) 

Trả lời

3

Các trường hợp thử nghiệm có được biên soạn nhưng không đúng với thư mục không? Họ cần phải được biên soạn cho các lớp học không phải lớp học thử nghiệm. Trong xây dựng con đường của bạn, bạn cần phải thiết lập thư mục Output của bạn sẽ được

DỰ ÁN/mục tiêu/thử nghiệm lớp

Điều này đúng cho mọi nguồn lực kiểm tra (kể cả src/kiểm tra/java & src/kiểm tra/tài nguyên).

Chỉnh sửa thuộc tính dự án của bạn trong Eclipse, chọn Java Build Path và sau đó trong tab Nguồn, bạn sẽ thấy tất cả các thư mục nguồn của mình. Mỗi người có một thư mục đầu ra. Thư mục đầu ra này cần phải như trên.

+0

Tôi có thể tìm thấy thư mục này (PROJECT/target/test-classes), nhưng bên trong không có tệp lớp nào sau Project -> clean. Nhưng các tệp khác có sẵn trong PROJECT/target/classes. Tôi có bỏ lỡ bất kỳ cấu hình nhật thực nào không? – Jon

+0

Đã thêm chỉnh sửa với nhiều hướng dẫn hơn. –

+1

Tôi có một dự án khác trong cùng một không gian làm việc. Nếu tôi làm sạch maven và làm Project -> clean, các file lớp thử nghiệm được tạo ra trong thư mục đích -> thư mục lớp thử nghiệm. Tôi nghĩ rằng vấn đề với cấu hình dự án cụ thể đó. – Jon

0

là thư mục thử nghiệm của bạn được thêm dưới dạng thư mục nguồn trong Eclipse? Nếu nó không phải là nó sẽ không được bao gồm trong xây dựng.

+0

Có @Ross đã thêm. – Jon

4

Dường như, bạn không được bao gồm lớp Case test của bạn vào đường dẫn xây dựng. Nhấp chuột phải vào thư mục Project của bạn, đi đến dự án properties-> src
bao gồm thư mục Testcase src của bạn bằng cách kiểm tra nó.
Bây giờ nó sẽ chạy.

0

tôi giải quyết điều này bằng cách:

  1. Thay đổi build path/xóa một số những cái sai
  2. sạch dự án
2

Đến Project --> Clean

Đó làm việc cho tôi với vấn đề tương tự.

1

Vui lòng kiểm tra testNG.xml tệp để kiểm tra chính xác vì tôi gặp lỗi tương tự và đó là do tên kiểm tra sai đã được nhập.

+0

Chào mừng bạn đến với stackoverflow! Điều này không cung cấp câu trả lời TỐT cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ tác giả, hãy để lại nhận xét bên dưới bài đăng của họ - bạn luôn có thể nhận xét về bài đăng của riêng mình và khi bạn có đủ danh tiếng, bạn sẽ có thể nhận xét về bài đăng bất kỳ. Vui lòng đọc hướng dẫn để có câu trả lời hay: http://stackoverflow.com/questions/how-to-answer. – bitoiu

4

Mở chế độ xem Sự cố. Trong Eclipse, hãy vào Window-> Show View-> Problems. Nó sẽ liệt kê ra tất cả các lỗi trong khi biên dịch mã.

+0

Thực sự đã giúp giải quyết vấn đề của tôi. bảng dữ liệu excel của tôi đã được mở và xây dựng không thành công vì tệp đang mở. –

0

Tôi nghĩ một thời gian chúng tôi nhận được lỗi này nếu lớp thử nghiệm của bạn là trong gói mặc định và trong Testng.xml, bạn chỉ định như sau -

<suite name="Suite" parallel="none"> 
<listeners> 
    <listener class-name="org.uncommons.reportng.HTMLReporter" /> 
    <listener class-name="org.uncommons.reportng.JUnitXMLReporter" /> 
</listeners> 
<test name="Test"> 
    <classes> 
     <class name=".Test1" /> 
    </classes> 
</test> <!-- Test --> 

Ở trên, tôi chuyển TestClass của tôi từ gói mặc định cho một số gói và cũng cập nhật testng.xml như dưới đây - và mọi thứ bắt đầu hoạt động.

<suite name="Suite" parallel="none"> 
<listeners> 
    <listener class-name="org.uncommons.reportng.HTMLReporter" /> 
    <listener class-name="org.uncommons.reportng.JUnitXMLReporter" /> 
</listeners> 
<test name="Test"> 
    <classes> 
     <class name="com.sigma.rest.api.Test1" /> 
    </classes> 
</test> <!-- Test --> 

Tôi hy vọng điều này sẽ giúp bạn ... nếu vấn đề vẫn còn tồn tại, hãy thử tùy chọn ở trên.

cảm ơn!

0

Kiểm tra xem hiện vật dự án của bạn như excel, file tài sản, các file xml vv được mở trong soạn thảo văn bản vv (nếu có, xin đóng chúng và đừng xây dựng lại)

Khi bạn sạch sẽ và xây dựng lại đảm bảo tất cả các file phụ thuộc dự án bị đóng và bạn xây dựng.

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