在不加载项目的情况下启动IntelliJ以查看欢迎屏幕:

在这里插入图片描述

选择Get from Version Control选项。选择Git从版本控制下拉框。CoreBanking在存储库框中输入url,为项目选择合适的位置。然后,单击Clone。

在这里插入图片描述

使用Al, Diffblue可以以人 类可读的形式自动编写Java单元测试,覆盖率高达80%,随着代码的发展,即使在具有数百万行代码的应用程序上,它们也可以自动维护测试。

6、编写新测试

为了为当前未涵盖的类生成新的测试:

选择Project窗口。

选择CoreBanking-> src-> main-> java-> io.diffblue.corebanking-> account-> Account

右键单击并Write Tests从菜单中选择选项。

成功克隆后,展开下面的CoreBanking部分Project以查看源树。

在这里插入图片描述

该插件在分析代码和创建测试之前先构建项目。生成项目后,单击屏幕底部的进度栏以打开一个弹出窗口。

进度窗口将显示分析所经历的不同阶段。在分析代码时,可以查看当前进度,但是在较小的项目(例如)中CoreBanking,这是一个非常短的时间范围。

创建新测试后,它们将被自动集成到项目中src/test/java。

请注意,也可以Write Tests通过右键单击以下内容:

源代码编辑器中的各个类

源代码编辑器中的各个方法

源文件顶部的选项卡中的各个类 Project菜单中其类内的各个方法(如果Show Members右键单击Project菜单后已选择)

在IDE的其他地方(例如在测试类或非Java文件中),该Write Tests功能被禁用。

7、运行测试

在Diffblue Cover为您的项目编写测试之后,它们将自动集成到您的测试套件中。Diffblue Cover创建的测试使用JUnit测试框架,因此junit包含在的CoreBanking项目依赖项中pom.xml。

在项目浏览器中,从CoreBanking-> src-> test-> java-> io.diffblue.corebanking-> ->中选择新类AccountTest,然后右键单击并选择Run 'AccountTest'

在这里插入图片描述

然后将显示JUnit运行的结果:

在这里插入图片描述

四、封面示例测试

在本文中,我们将显示输入源和Cover生成的各种复杂性代码的测试,并附有详细的叙述,以帮助您进一步了解Cover生成的测试。

1、基本断言

这是一个带有简单getter的Spring Service源代码的简单示例。DCover可以通过内联写一个春天开机测试的服务提供商,吸气Arrange,Act和Assert。

1.1、来源

import org.springframework.stereotype.Service;

@Service

public class SimpleService

{

public String getValue() {

return “a really simple service”;

}

}

1.2、 Diffblue Cover产生的测试

@SpringBootTest

@RunWith(org.springframework.test.context.junit4.SpringRunner.class)

public class SimpleServiceDiffblueTest {

@Autowired

private SimpleService simpleService;

@Test

public void testGetValue() {

// Arrange, Act and Assert

assertEquals(“a really simple service”, this.simpleService.getValue());

}

}

2、模拟

此类包含两个方法,用于从Amazon S3存储桶上传文件和从Amazon S3存储桶下载文件。由于Amazon S3存储桶是一种云存储机制,因此此类/方法的测试需要依赖项注入。downloadFileFromBucket通过声明所需的S3Object和使用该方法下载的S3Object,DCover可以模拟这些类型的依赖关系并测试方法。

2.1、来源

@Service

public class AmazonService {

@Autowired

private AmazonS3 s3client;

public PutObjectResult uploadFileToBucket(String bucketName, String key, File file) {

return s3client.putObject(bucketName, key, file);

}

public S3Object downloadFileFromBucket(String bucketName, String key) {

return s3client.getObject(bucketName, key);

}

}

2.2 、Diffblue Cover生成的测试

@SpringBootTest

public class AmazonServiceDiffblueTest {

@MockBean

private AmazonS3Client amazonS3Client;

@Autowired

private AmazonService amazonService;

@Test

public void testUploadFileToBucket() {

// Arrange

PutObjectResult putObjectResult = new PutObjectResult();

putObjectResult.setContentMd5(“file-hash”);

when(this.amazonS3Client.putObject(or(isA(String.class), isNull()), or(isA(String.class), isNull()),

or(isA(File.class), isNull()))).thenReturn(putObjectResult);

// Act and Assert

assertSame(putObjectResult, this.amazonService.uploadFileToBucket(“foo”, “foo”,

Paths.get(System.getProperty(“java.io.tmpdir”), “test.txt”).toFile()));

}

@Test

public void testDownloadFileFromBucket() throws UnsupportedEncodingException {

// Arrange

StringInputStream objectContent = new StringInputStream(“file-name”);

S3Object s3Object = new S3Object();

s3Object.setObjectContent(objectContent);

when(this.amazonS3Client.getObject(or(isA(String.class), isNull()), or(isA(String.class), isNull())))

.thenReturn(s3Object);

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

独家面经总结,超级精彩

本人面试腾讯,阿里,百度等企业总结下来的面试经历,都是真实的,分享给大家!

image

image

image

image

Java面试准备

准确的说这里又分为两部分:

  1. Java刷题
  2. 算法刷题

Java刷题:此份文档详细记录了千道面试题与详解;

image

image

1711045641817)]

独家面经总结,超级精彩

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

dUWIqp-1712865777098)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-tcuYdvgJ-1712865777098)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Logo

一站式 AI 云服务平台

更多推荐