我在测试时遇到了这个问题 - 为类提供了错误类型的 idcom.myapp.ibank.domain.Customer. Expected: class java.lang.Long, got class java.lang.String
老实说,我不明白为什么我会得到这个以及到底发生了什么。当我正常使用它时,比如在本地tomcat上运行并通过控制器保存然后服务,它工作得很好。没有错误。这种行为对我来说毫无意义。
我正在使用 JPA 2.1 和 Hibernate 作为提供程序。
这是测试代码:
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextHierarchy({
@ContextConfiguration(classes = RootConfig.class),
@ContextConfiguration(classes = WebConfig.class)
})
@Transactional
public class AccountRepositoryTest {
@Autowired
private WebApplicationContext wac;
@Autowired
private AccountRepository accountRepository;
@Autowired
private CustomerService customerService;
private MockMvc mockMvc;
@Before
public void setup() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
Customer cus = new Customer();
cus.setFirstName("John");
cus.setLastName("Smith");
customerService.save(cus);
}
@Test
public void testSaveAccount() {
Account account = new Account();
account.setCustomer(customerService.findByName("John"));
account.setName();
account.setDebitCard(new DebitCard((long) …Run Code Online (Sandbox Code Playgroud) 我最近开始学习Grails和Groovy,并且在某个范围内生成日期非常困难.
我可以根据年份差异生成日期.但是如何添加月份和日期?
这就是我使用DatesUtils获得的
DateUtils.addYears(new Date() , -(18 + new Random().nextInt(20)))
Run Code Online (Sandbox Code Playgroud)
这可以生成基于年份的日期.但我会一直在同一个月.如何添加一个月,这样我也可以将月份随机化