这是我的java类:
public class Finder {
@PersistenceContext(unitName = "abc")
EntityManager em;
public boolean exists(int i) {
return (this.em.find(Employee.class, i) != null);
}
}
这是单元测试:
public class FinderTest {
@Test public void testSimple() {
Finder f = new Finder();
assert(f.exists(1) == true);
}
}
测试失败,NullPointerException
因为Finder.em
没有任何人注入。我应该如何正确处理这种情况?是否存在最佳实践?
如果没有像Spring这样的容器(或诸如基于Spring的Unitils之类的容器),则必须手动注入实体管理器。在这种情况下,您
可以 将以下内容用作基类:
public abstract class JpaBaseRolledBackTestCase {
protected static EntityManagerFactory emf;
protected EntityManager em;
@BeforeClass
public static void createEntityManagerFactory() {
emf = Persistence.createEntityManagerFactory("PetstorePu");
}
@AfterClass
public static void closeEntityManagerFactory() {
emf.close();
}
@Before
public void beginTransaction() {
em = emf.createEntityManager();
em.getTransaction().begin();
}
@After
public void rollbackTransaction() {
if (em.getTransaction().isActive()) {
em.getTransaction().rollback();
}
if (em.isOpen()) {
em.close();
}
}
}
第一个问题:如何注入模拟(或真实?)HttpServletResponse在我对CXF JAX-RS服务endpoint进行单元测试期间? 我们的服务是如何设置的示例(注意我没有控制/权限来更改非测试结构): 测试类: 我可能在这里做错了几件事,但是我希望我只需要在我的自定义调用器中加入正确的“魔法”,以便正确地向我的endpoint注入HttpServlet响应。我要注意的是,在我没有注入上下文
问题内容: 我正在尝试为程序中用来验证表单的简单bean编写单元测试。Bean带有注释,并具有使用初始化的类变量 我想为此类中的验证方法编写单元测试,但是,如果可能的话,我希望在不利用属性文件的情况下这样做。我这样做的原因是,如果我从属性文件中提取的值发生更改,我希望这不会影响我的测试用例。我的测试用例正在测试验证值的代码,而不是值本身。 有没有一种方法可以在测试类中使用Java代码来初始化Jav
所以,我的问题是,我正在尝试为我的应用程序进行单元测试。我有两个服务,我们叫它们Foo和Bar,Foo只是Bar的代理。 因此,Foo服务的路由器如下所示: 向Bar服务发出请求的处理程序如下所示: 当我这样写测试时: 它永远冻结了......嗯,我想这是因为它周围的一些协程魔法,但是因为我在这方面还是新手,我不明白这里到底发生了什么。有什么帮助吗?
我试图为一个简单的bean编写单元测试,这个bean在我的程序中用来验证表单。bean使用进行注释,并具有一个使用 我想为这个类中的验证方法编写单元测试,但是,如果可能的话,我希望在不使用属性文件的情况下这样做。我的理由是,如果我从属性文件中提取的值发生了变化,我希望这不会影响我的测试用例。我的测试用例测试的是验证值的代码,而不是值本身。 有没有一种方法可以在我的测试类中使用Java代码来初始化一
问题内容: 运行PHPUnit测试时,我希望能够转储输出,以便可以调试一两个东西。 我已经尝试了以下内容(类似于PHPUnit Manual示例 ); 结果如下: 请注意,没有预期的输出。 截至2011年9月19日,我使用的是git版本的HEAD版本。 输出: 我做错了什么吗,还是潜在的PHPUnit错误? 问题答案: 更新 刚刚意识到实现此目的的另一种方法比命令行选项要好得多: 这样,您可以随时
当将CoroutineScope注入到用于单元测试的ViewModel中时,是否也应该使用注入和定义CoroutineDispatcher,即使在生产代码中不需要它? 在此用例中,生产代码中不需要,因为在someRepository.kt中,reverfit处理上的线程,而返回上的数据,这两种情况都是默认的。 对保存在Kotlin流值中的Android的ViewModel视图状态值运行单元测试。