I Frühling lerne und ich erstellt die folgenden Schnittstellen und Klassen alle unter dem gleichen Paketjunit.framework.AssertionFailedError während Frühling Prüfung
public interface CompactDisc {
public void play();
}
-
@Component
public class StgPeppers implements CompactDisc{
private String title = "Stg. Pepper's Lonely Hearts Club Band";
private String artist = "The Beatles";
@Override
public void play(){
System.out.println("Playing "+title+" by "+artist);
}
}
-
@Configuration
@ComponentScan
public class CDPlayerConfig {
}
Diese werden mit
getestet eine Hauptklasse geschaffen, die gerade das tutpublic class Main {
public static void main(String[] args){
new CDPlayerTest().cdShouldNotBeNull();
}
}
In der
import junit.framework.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = CDPlayerConfig.class)
public class CDPlayerTest {
@Autowired
private CompactDisc cd;
@Test
public void cdShouldNotBeNull() {
Assert.assertNotNull(cd);
}
}
ich diese Beispiele aus einem Buch bin nach, um es testen möchte, dass es funktioniert aber nicht, wie das zu tun i unter dem gleichen Paket Konsole i
Exception in thread "main" junit.framework.AssertionFailedError
at junit.framework.Assert.fail(Assert.java:55)
at junit.framework.Assert.assertTrue(Assert.java:22)
at junit.framework.Assert.assertNotNull(Assert.java:256)
at junit.framework.Assert.assertNotNull(Assert.java:248)
at automaticWiring.CDPlayerTest.cdShouldNotBeNull(CDPlayerTest.java:30)
at automaticWiring.Main.main(Main.java:17)
Alle Einfuhren der Klassen korrekt sind sogar entfallen, wenn ich mit Spring Web MVC-Framework ein Netbeans Webapp verwende, ich hatte auch JUnit 4.12 jar zur Bibliothek hinzuzufügen, da es wasn t dort am Anfang. Stimmt etwas mit dem Spring-Code nicht oder ist meine Testmethode falsch?
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>redirect.jsp</welcome-file>
</welcome-file-list>
</web-app>
Sie haben nie den Member 'cd' initialisiert, und ich glaube auch, dass Sie die Testmethode nicht direkt aufrufen sollen, sondern JUnit sie aufrufen soll. –
Wie sollte ich es initialisieren? – Maver
Klicken Sie mit der rechten Maustaste auf die Testdatei in Ihrer IDE> run – dimitrisli