- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一些 hibernate 方法,当我测试它们时,mockito 总是返回 null 而不是期望值
这是我的 hibernate 方法
@Autowired
private SessionFactory sessionFactory;
public StudentDAO() {
}
public List listStudentDetail() {
String hql = "Select new " + StudentDetail.class.getName() //
+ "(s.studentid,s.name,s.address) " //
+ " from " + Student.class.getName() + " s ";
Session session = this.sessionFactory.getCurrentSession();
Query query = session.createQuery(hql, StudentDetail.class);
List list =null;
list = query.getResultList();
return list;
}
这是我的测试方法
@Mock
SessionFactory sessionFactory;
@Mock
Query query;
@Mock
Session session;
@Mock
List list;
@InjectMocks
private StudentDAO studentDAO ;
// Test get method
@Bài kiểm tra
public void getListStudentTest() {
StudentDetail sd1 = new StudentDetail(1, "A", "X");
Mockito.when(query.getResultList()).thenReturn(list);
Mockito.when(sessionFactory.getCurrentSession()).thenReturn(session);
Mockito.when(session.createQuery(ArgumentMatchers.anyString())).thenReturn(query);
Mockito.verify(sessionFactory.getCurrentSession());
Mockito.verify(session.createQuery(ArgumentMatchers.anyString(),ArgumentMatchers.anyObject() ));
Mockito.verify(query.getResultList());
Assert.assertEquals(sd1, studentDAO.listStudentDetail().get(0));
}
当我运行我的网络应用程序时,studentDAO.listStudentDetail()
正常返回真值,但在测试方法中它总是返回 null
1 Câu trả lời
这里
Assert.assertEquals(sd1, studentDAO.listStudentDetail().get(0));
studentDAO.listStudentDetail()
返回一个模拟列表。您没有模拟它的 .get
方法。因此它默认返回 vô giá trị
。您应该修改您的 assertEquals
检查:
Assert.assertEquals(list, studentDAO.listStudentDetail());
(你根本不需要sd1
对象)
此外,您没有正确使用 verify
。你应该这样做:
Mockito.verify(sessionFactory).getCurrentSession();
Mockito.verify(session).createQuery(ArgumentMatchers.anyString());
Mockito.verify(query).getResultList();
(注意 .
前的右括号)
关于java - Mockito 在测试 hibernate 方法时总是返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58297091/
Tôi được cung cấp một số ví dụ về mã nguồn và tôi muốn thử nghiệm một số chức năng. Thật không may, tôi gặp vấn đề khi thực hiện chương trình: 11:41:31 [linqus@ottsrvafq1 example]$ javac -g test/test.jav
Tôi muốn kiểm tra xem hai biểu đồ do ggplot tạo ra có giống hệt nhau không. Một lựa chọn khác là sử dụng all.equal trên các đối tượng đồ thị, nhưng tôi muốn thực hiện thử nghiệm khó khăn hơn để đảm bảo chúng giống hệt nhau, đó có vẻ là những gì mà identify() cung cấp cho tôi. Tuy nhiên, khi tôi thử nghiệm bằng cách sử dụng cùng một d
Tôi sử dụng JUnit5 để thực hiện các bài kiểm tra Maven của mình, trong đó tất cả các lớp kiểm tra đều có chú thích @ExtendWith({ProcessExtension.class}). Nếu đây là trường hợp, phần mở rộng phải thực hiện thử nghiệm
Quy trình của bạn như thế nào trước khi bắt đầu phát triển thứ gì đó hữu ích với Node.js? Bạn có tạo bài kiểm tra trên VowJS, Expresso không? Bạn có sử dụng thử nghiệm Selenium không? khi? Tôi quan tâm đến việc có được một quy trình làm việc tốt để phát triển
Câu hỏi này đã có câu trả lời: NullPointerException là gì và làm thế nào để khắc phục? (12 câu trả lời) Đã đóng 3 năm trước. Dựa trên ví dụ ở đây, tôi đã cố gắng tạo ra một
Tôi đang tìm cách thử nghiệm một số thành phần Vue.js như một phần của ứng dụng Laravel. Vì vậy, tôi có một thành phần được sử dụng trong mẫu Blade và tạo ra lệnh GET. Yêu cầu móc vòng đời trong quá trình gắn kết. Giả mạo
Hãy xem xét chương trình sau: #include struct Test { int a; }; int main() { Test t=Test(); std::cout<<>
Vị trí hiện tại của tôi là nếu tôi sử dụng thử nghiệm web (trong trường hợp của tôi có lẽ thông qua các công cụ thử nghiệm VS.NET '08 và WatiN) với phạm vi mã và dữ liệu mở rộng để kiểm tra kỹ lưỡng ứng dụng ASP.NET của tôi, tôi không cần phải viết một
Tôi đang sử dụng C#, .NET 4.7 Tôi có 3 chuỗi gồm: [test.1, test.10, test.2] Tôi cần sắp xếp chúng để có được: test.1 test.2 test.10 Tôi có thể nhận được
Tôi có một RecyclerView có ID là "rv_list". Khi bạn nhấp vào bất kỳ mục RecyclerView nào, sẽ có một View có id là "star" hiển thị bên trong mỗi mục. Tôi muốn sử dụng espresso
Tôi đang thử nghiệm các chức năng Firebase bằng Jest và trình mô phỏng, mặc dù các thử nghiệm này có thể gặp phải tình trạng chạy đua. Ý tôi là đôi khi chúng chạy được, đôi khi thì không, ngay cả trên cùng một máy. Các bài kiểm tra và chức năng được viết bằng Type
Tôi đang thử nghiệm angular-ui của mình với typeahead.js (https://github.com/angular-ui/bootstrap/blob/master/src/typeahead/typeahead.js
Tôi đang cố gắng chạy thử nghiệm tự động với Teamcity nhưng có vẻ như khi tác nhân biên dịch dự án, nó không hoàn thành chính xác vì khi tôi chạy các lệnh như chạy thử nghiệm, tôi nhận được lỗi sau: lỗi nghiêm trọng: 'Pushwoosh/PushNo
Đây là lần đầu tiên tôi sử dụng cucumber và tạo một bộ thử nghiệm và API. Câu hỏi của tôi là tôi có cần chạy nó khi thử nghiệm API không? Ví dụ, tôi có ý tưởng này, khởi động máy chủ Express như một tác vụ nền và sau đó khi nó khởi động (tôi
Tôi có dự án ứng dụng chính và sau đó là dự án thứ hai để thử nghiệm. Có phải là một thông lệ tốt khi lưu trữ tất cả các loại thử nghiệm trong dự án thử nghiệm này hay một số thử nghiệm nên nằm trong dự án ứng dụng chính? Tôi có nên giữ POJO JUnit (kiểm tra) trong dự án chính của mình không?
Tôi đang gặp khó khăn trong việc tìm ra cách thực hiện cách đếm này. Các mô hình là Người dùng, Bài kiểm tra, Điểm Người dùng có nhiều Bài kiểm tra, Bài kiểm tra có nhiều Điểm. Mỗi cấp độ có một điểm được tính toán (strong_pass, pass, fail, strong_pass,
Tôi đang cố gắng kiểm tra một số mã tải xuống liên quan đến OkHttp3 nhưng thất bại thảm hại. Mục tiêu: Kiểm tra việc tải xuống một tệp hình ảnh và xác minh rằng tệp đó hợp lệ. Nền tảng: Android. Mã này hoạt động trong môi trường sản xuất, nhưng không có ý nghĩa gì khi thử nghiệm nó. Mã sản phẩm Lớp Fil
Khi tôi muốn chạy thử nghiệm UI cho iOS, tôi nhận được thông báo sau: SetUp: System.Exception: Không thể xác định phiên bản trình mô phỏng cho ngăn xếp X
Tôi đang thiết lập thử nghiệm A/B trên iOS bằng Firebase Remote Config. Mọi thứ đã được thiết lập và tôi đang đọc các thông số mặc định của phía máy chủ trong ứng dụng iOS của mình. Nhưng khi tôi thử nó trên nhiều trình mô phỏng, tất cả chúng đều đọc mặc định
[SỬA]: Tôi đã thay đổi mã của mình để sử dụng lời hứa. Tôi đang viết React bằng trình khởi chạy này do Facebook tạo ra và tôi mới tham gia thử nghiệm. Bây giờ tôi có một thành phần về hình ảnh, nó có
Tôi là một lập trình viên xuất sắc, rất giỏi!