当前位置: 首页 > 知识库问答 >
问题:

使用Cobertura时Spring Autowiring失败

洪德寿
2023-03-14
@Transactional
public interface UserRepository extends CrudRepository<User, Long> {

    public User findByCrmId(String crmIdId);
}
@Service
@Transactional
public class UserService extends TraceablePersistenceService<User, UserRepository> {

    @Autowired
    UserRepository repository;

    @Transactional
    public Iterable<User> findAll() {
        return repository.findAll();
    }

    public User findOne(Long id) {
        return repository.findOne(id);
    }
}

我们的配置

@Configuration
@EnableTransactionManagement(proxyTargetClass=true)
@EnableJpaRepositories(basePackages = {"com.dnb.components.storage.repository"})
@Profile("inmemory")
public class InMemoryStandaloneStorageConfig extends BasicJpaStorageConfig {

....

(为简洁起见略去)

UserResource.java:

@Component
@Path(UserResource.uri)
public class UserResource extends AbstractResource {
    public final static String uri = BASE_URI + "/users";

    @Override
    public String getURI() {
        return BASE_URI + uri;
    }

    @Autowired
    private UserService userService;

共有1个答案

太叔小云
2023-03-14

通常,我们不注入具体的类,而是注入接口。这是我的建议。

a.将UserService重构为UserServiceImpl类

b.创建UserService接口

 类似资料:
  • 我遇到了类似[https://stackoverflow.com/questions/25432810/error-when-trying-to-use-org-codehaus-mojocobertura-maven-plugin2-6的问题]。 日志:目标组织的执行默认cli。科德豪斯。mojo:cobertura maven插件:2.6:instrument失败:插件组织。科德豪斯。mojo

  • 我试图为我的类“Sinus”(用于计算浮点的Sinus)运行一个测试,但当我试图运行这个测试来生成我的Cobertura覆盖率报告时,它不起作用,我真的不知道为什么!你有什么建议或解释吗?(我使用cmd:mvn cobertura:cobertura) -这是我的测试: 结果是: 那有什么问题?有什么想法吗?这是我的pom。xml如下:

  • Cobertura 是一种开源工具,它通过检测基本的代码,并观察在测试包运行时执行了哪些代码和没有执行哪些代码,来测量测试覆盖率。除了找出未测试到的代码并发现 bug 外,Cobertura 还可以通过标记无用的、执行不到的代码来优化代码,还可以提供 API 实际操作的内部信息。Elliotte Rusty Harold 将与您分享如何利用代码覆盖率的最佳实践来使用 Cobertura。 下图是

  • Cobertura for J2ME 是一个用于 J2ME 平台(CLDC1.1/MIDP2.0)的测试覆盖率分析工具。

  • 问题内容: 我正在使用声纳来衡量代码质量。我不知道的一件事是使用Cobertura测量代码覆盖率的步骤。 我按照http://cobertura.sourceforge.net/anttaskreference.html中的步骤进行操作,并且能够生成xml文件。如何将这些xml文件放入SONAR? 有没有在SONAR中使用Cobertura的简便方法? 我在与SONAR服务器不同的服务器上运行代码

  • 问题内容: 如果行或分支覆盖范围低于给定的阈值,我试图将我的WAR项目构建配置为失败。我一直在使用Java Power Tools 一书中第455页提供的配置,但是没有成功。这是我的项目的Maven 2 POM的相关代码段: 就像我说的那样,覆盖率报告工作正常,问题在于,如果行或分支覆盖率低于我指定的阈值,则“安装”目标不会失败。有人能正常工作吗?如果是这样,那么您的POM是什么样的?您使用的是哪