小编Bjo*_*ops的帖子

传递来验证的参数不是 Mock

我是用 Java 编写测试并尝试学习 Mockito 的新手。

这是我想测试的课程的一部分。

public class ExamRepository implements IExamRepository {
    private static final Logger LOGGER = LogManager.getLogger(ExamRepository.class);

    private IStudentRepository studentRepository = new StudentRepository();
    private EntityManager entityManager;

    public ExamRepository() {
        entityManager = EntityController.getEntityManager();
    }

    public ExamRepository(EntityManager entityManager){
        this.entityManager = entityManager;
    }

    // Get all exam skeletons from the DB
    @Override
    public List<ExamSkeleton> getAllSkeletons() {
        try {
            TypedQuery<ExamSkeleton> query = entityManager.createQuery("SELECT NEW ExamSkeleton (s.id, s.filename, s.course, s.visible) FROM ExamSkeleton as s", ExamSkeleton.class);

            return query.getResultList();
        } catch (IllegalArgumentException exception) {
            LOGGER.error(exception); …
Run Code Online (Sandbox Code Playgroud)

java junit mockito

6
推荐指数
1
解决办法
5万
查看次数

如何使用 Mockito 来模拟包括 EntityManager

目前在学校,我们正在做一个相当大的项目。然而,Java 中的测试并没有真正得到很好的解释,所以我并没有像我想象的那样真正使用 TDD。

protected EntityManager getEntityManager() {
    return EntityController.getEntityManager();
}

// Get all exam skeletons from the DB
@Override
public List<ExamSkeleton> getAllSkeletons() {
    EntityManager entityManager = getEntityManager();
    try {
        TypedQuery<ExamSkeleton> query = entityManager.createQuery("SELECT NEW ExamSkeleton (s.id, s.filename, s.course, s.visible) FROM ExamSkeleton as s", ExamSkeleton.class);

        List<ExamSkeleton> skeletons = query.getResultList();

        return skeletons;
    } catch (IllegalArgumentException exception) {
        LOGGER.error(exception);
    }
        return Collections.emptyList();
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,如何使用 Mockito 测试这种方法?

java unit-testing mockito

4
推荐指数
1
解决办法
1万
查看次数

角度材质排序和分页器不起作用

所以我在实现 MatSort 和 MatPaginator 时遇到问题。我按照官方 Angular Material 网站( https://material.angular.io/components/sort/overview )上的教程进行操作。然而,每次我尝试实施它时,它都不起作用。我的控制台日志中出现 0 个错误,所以我不知道我缺少什么。

消息.组件.ts:

import { Component, OnInit, ViewChild, } from '@angular/core';
import { MatTableDataSource, MatPaginator, MatSort } from '@angular/material';
import { MessagesService } from '../shared/services/messages.service';
import { IMessageCredentials } from '../shared/interfaces/messageCredentials.interface';
import { IMessage, IMessageData } from '../shared/interfaces/messages.interface';
import { IDriverData } from '../shared/interfaces/driver.interface';
import { DriverService } from '../shared/services/driver.service';

@Component({
  selector: 'app-messages',
  templateUrl: './messages.component.html',
  styleUrls: ['./messages.component.scss']
})

export class MessagesComponent implements OnInit {  
  name: string = '';
  number: …
Run Code Online (Sandbox Code Playgroud)

typescript angular-material angular

1
推荐指数
1
解决办法
1384
查看次数