云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

免备案CDN_魔兽世界网通服务器_免费申请

小七 141 0

简介:

ABAP单元测试类,一种验证我们代码行为的简单方法。单元测试类不仅检查代码覆盖率,而且帮助开发人员覆盖代码的所有可能场景,从而生成更可靠的代码,减少返工的机会。

内容:

本博客将解释以下几点:

在SE80中生成单元测试类:

用于演示目的,我创建了一个类"ZCL\u UNIT\u TEST\u class\u DEMO1",它有一个方法"READ\u BOM\u VERSION"。有一个向导,折扣返利,我们可以通过它生成一个测试类,

下面是生成测试类的步骤:

图1

图2

图3

图4:点击创建按钮,提供测试类名,什么叫淘客,选择所有选项生成预定义的测试类方法。

图5:选择要生成测试类的方法。

图6:测试类生成完成。

测试类生成完成后,生成本地测试类(图7),这个我们可以根据自己的需求进行修改

图7

OSQL测试双框架:

这个框架对于业务逻辑测试非常有帮助,没有任何数据库依赖关系。该框架主要用于覆盖产品代码中的select查询,对数据库没有任何影响。通过这个,我们创建了一个选择查询的虚拟环境,服务器云,然后在其中模拟数据,大数据好就业吗,以检查代码的行为?

首先创建一个引用类型为"IF\OSQL\u TEST\u ENVIRONMENT"的静态属性。在预定义方法"CLASS\u SETUP"中为测试执行创建测试环境的实例,并声明其中用于主类方法的选定查询的所有表。有了这个,我们将在我们的方法中为select查询创建一个环境,并且我们将模拟那些数据来自select查询的表。

图8:DB工件重定向的测试环境

每个场景的单元测试用例方法:

现在,我们将更改单元测试用例(它是在生成测试类时生成的)根据我们的要求,每种方法

例如:在方法"READ\u BOM\u VERSION"中,有两种可能的场景,多线云主机,一种高亮显示为红色,另一种高亮显示为黄色。一次只执行一个场景,因此对于这种方法,需要两个单元测试用例。

图9

这里,我们模拟所有输入参数和select query的表。我们正在虚拟环境中插入测试数据。

图10:UTC中测试环境的使用

2。else条件下的单元测试用例:

图11

测试接缝和测试注入的使用:

在单元测试类中,我们不涉及任何"调用函数"和"调用方法"(其他类的)行。为了跳过这一部分,我们在产品代码中使用testseam End testseam。对于每个Test Seam End Test Seam,单元测试类中都会有一个对应的Test Injection End Test Injection.

通过使用Test Seam和Test Injection,我们避免了代码中其他类或函数模块的依赖性。

如果该调用函数预期会有一些输出,然后我们可以在相应的Test Injection End Test Injection中模拟它。

图12:在类方法中使用Test Seam–End Test Seam。

图13:在UTC中使用Test Injection–End Test Injection。

之前,我们使用Test Seam End Test Seam跳过单元测试类中的select查询(以避免数据库依赖性),从而影响代码覆盖率。通过OSQL环境,我们创建了一个虚拟数据库,不仅可以检查选择查询的行为,还可以帮助我们实现更好的代码覆盖率。

下面是单元测试类的完整代码: