Über SpringJunit5 kleines Problem Testaufbau Konfigurationsdateipfad

Heute ein kleines Problem zu lösen und Überprüfung aufgezeichnet unten im Frühjahr auftreten, das erste, was wir mit junit4 Testkonfiguration vertraut sein sollen, ist wie folgt:

@RunWith , die durch junit4 dargestellt wird, und @ContextConfiguration zeigen den Ort der Konfigurationsdatei , die @ContextConfiguration Wenn kein Wert, wird der Standard die Klassennamen aus dem aktuellen Test und die Testklasse auf der gleichen Ebene im aktuellen Verzeichnis -Context zu finden sein, .xml - Konfigurationsdatei . Wie zum Beispiel: Name Ihrer Testklasse für App.class, dann ist es für App-context.xml Datei im selben Verzeichnis aussehen wird , wie in:

 

Aber dann wird es zu einem Test in Junit5

package cn.s.register;

import static org.junit.jupiter.api.Assertions.*;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;

import cn.s.register.action.UserAction;
import cn.s.register.dao.IUserDAO;
import cn.s.register.domain.User;

@SpringJUnitConfig
public class App {
@Autowired
UserAction action;
@Test
void test1() throws Exception {
	action.execute();
}
@Autowired
private IUserDAO dao;
@Test
void testName() throws Exception {
		User u = new User();
		u.setName("欧阳");
		u.setAge(14);
		dao.save(u);
}
}

Nur ein @SpringJUnitConfig und @Test, und dann, wohin sie gehen, die Konfigurationsdatei zu finden?

In der Tat fanden wir den Quellcode @SpringJUnitConfig verbunden , die eine @ContextConfiguration enthält, diese Anmerkung wir nicht sehr vertraut sind? In JUnit4 sucht die Konfigurationsdatei Konfiguration. Die Junit5 @ContextConfiguration dass es nur eine ist Standard ist das aktuelle Verzeichnis den Namen des Tests -Context Profils zu finden

/**
 * {@code @SpringJUnitConfig} is a <em>composed annotation</em> that combines
 * {@link ExtendWith @ExtendWith(SpringExtension.class)} from JUnit Jupiter with
 * {@link ContextConfiguration @ContextConfiguration} from the <em>Spring TestContext
 * Framework</em>.
 *
 * @author Sam Brannen
 * @since 5.0
 * @see ExtendWith
 * @see SpringExtension
 * @see ContextConfiguration
 * @see org.springframework.test.context.junit.jupiter.web.SpringJUnitWebConfig
 */
@ExtendWith(SpringExtension.class)
@ContextConfiguration
@Documented
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface SpringJUnitConfig {
----(因为篇幅问题- -)下面是SpringJUnitConfig的方法,大家可以自行去spring源码中查看
}

Wenn wir @ContextConfiguration, dass das Hotel mit einem Custom-Look für den Weg in die Konfigurationsdatei neu konfiguriert werden

package cn.s.register;

import static org.junit.jupiter.api.Assertions.*;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;

import cn.s.register.action.UserAction;
import cn.s.register.dao.IUserDAO;
import cn.s.register.domain.User;

@SpringJUnitConfig
@ContextConfiguration("classpath:cn/s/register/App-context.xml")
public class App {

@Autowired
private IUserDAO dao;
@Test
void testName() throws Exception {
		User u = new User();
		u.setName("欧阳");
		u.setAge(14);
		dao.save(u);
}
}

 

 

 

 

 

 

 

Veröffentlicht sechs Original - Artikel · erntete Lob 3 · Aufrufe 793

Ich denke du magst

Origin blog.csdn.net/SmileLucki/article/details/105264188
Empfohlen
Rangfolge