在我的Spring应用程序中,我有两个实体:
@Entity
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
....
@OneToOne
@Cascade({CascadeType.ALL})
@JoinColumn(name="page_id")
private Page page;
@OneToMany(fetch=FetchType.LAZY, mappedBy="category")
private List<Shop> shop;
..getters and setters
}
和
@Entity
public class Shop {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
....
@OneToOne(mappedBy="shop")
private Settings settings;
@ManyToOne
@Cascade({CascadeType.SAVE_UPDATE})
@JoinColumn(name = "category_id")
private Category category;
@OneToOne
@Cascade({CascadeType.ALL})
@JoinColumn(name = "page_id")
private Page page;
...getters and setters
}
在我的测试jUnit中,我添加了一些类别和一些带有这个类别的商店,当我想访问当前类别的商店列表时,我有一个错误java。lang.NullPointerException。。。。
我的测试:
@ContextConfiguration(locations = {
"classpath:security-context.xml",
"classpath:dao-context.xml"
})
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=false)
@Transactional
public class CategoryTest {
Shop shop1 = new Shop(....);
Shop shop1 = new Shop(....);
Category category1 = new Category(....);
Category category2 = new Category(....);
@Test
public void someTest(){
shop1.setCategory(category1);
shop2.setCategory(category2);
shopService.add(shop1);
shopService.add(shop2);
assertEquals(2, shopService.getAllShop().size());
assertEquals(2, categoryService.getAllShop().size());
//IN THIS LINE I HAVE A ERROR
assertEquals(1, categoryService.getCategory(category1.getId()).getShop().size());
}
}
为了访问我添加到我的网站的惰性阿曲布他。xml过滤器:org。springframework。奥姆。冬眠3。支持OpenSessionInViewFilter在前端应用程序中正常工作,而不是在jUnit测试中<我犯了哪一点错误?
延迟加载仅在会话打开时在事务内部发生。因此,除非事先初始化延迟加载的集合,否则测试方法中会得到null。
另一个类似的问题
我有从应用程序访问属性的方法。属性 下面是测试用例: 当我访问该方法它的抛空指针。我已经声明该属性在application-test.yml。我缺少什么?任何参考或答案来解决这个问题?
尝试让JUnit与mockito测试一起工作,并在我的测试中获得NPE。我想验证一下,当调用时,紧接着调用了方法。我觉得奇怪的一个问题是,在Mockito上。验证(registrationServiceImpl,Mockito.times(1))。创建注册人(registrationDTO) 方法?IntelliJ只建议界面中的方法? 我的测试代码如下: 下面是我正在测试的代码:
我有一个主页。我正在尝试使用测试注释测试TestNG中的页面标题。我得到了testTitle()的NullPointerException。url正在打开。
我有一个由Hibernate加载的ORM实体,当我需要时,会加载某些关联。该实体通过MQ传输到客户机应用程序(客户机是.NET,所以我使用MessagePack来序列化/反序列化),当实体被MsgPack序列化时,它试图访问惰性加载的关联,但失败了,因为会话已经关闭。即使它没有失败,我也不希望它在某些情况下加载关联。 是否有一种方法告诉hibernate使用空值而不是某些查询结果的代理来填充惰性关
我在尝试获取数据时收到异常,懒惰(最后异常) //应用程序通过以下DAO获取数据。 //Junit测试调用serviceX.getById //使用JUnit //某个对象类具有以下属性。 当我尝试访问jUnit中的另一个对象时,我得到了以下异常 方法已在额外配置中尝试 我们使用TransactionManager的spring注释。 还有,我尝试添加@ Transaction(Propagati
我正在尝试通过Maven运行cucumber+testng+selenium。 当我在Eclipse中通过TestNG测试运行它时,它工作得很好,但当我使用mvn测试时,它会抛出空指针异常 我是不是漏掉了什么?