云解析_数据库实验_优惠券

安全 虚拟云 浏览

小编:本博客是SAP HANA SPS 09中所有新开发人员功能的大型系列文章的一部分: 单元测试和测试驱动开发在整个行业中越来越流行,特别是在SAP客户中为满足这一需求,SAP在SPS 09中引入了单元

云解析_数据库实验_优惠券

本博客是SAP HANA SPS 09中所有新开发人员功能的大型系列文章的一部分:

单元测试和测试驱动开发在整个行业中越来越流行,特别是在SAP客户中为满足这一需求,SAP在SPS 09中引入了单元测试框架和表/视图模拟框架。但需要注意的是,此测试框架不会自动安装到SPS 09中。此框架的交付单元作为非自动内容交付。这意味着它位于HANA系统的文件系统中,必须由管理员导入。这样做是因为我们假设客户希望在他们的开发系统中使用这些工具,而不是生产系统,决定是否要安装这些工具。

首先,云服务器软件,有一个测试XS JavaScript和数据库内容(如SQLScript和视图)的通用工具,它都是基于上一节详细介绍的开源库;其中一些已经通过特定于HANA环境的自定义断言和测试实用程序进行了扩展。

测试代码和测试数据在同一HANA实例中与您的生产代码一起开发,就像另一个XSJSLIB开发对象一样。测试本身在SAP HANA Studio或基于Web的开发中以XSJS语法实现Workbench.

单元测试可以通过URL:/sap/hana/testtools/Unit/jasminxs在Web浏览器中独立运行/TestRunner.xsjs?package=

其中package=您的测试所在的存储库包。

这些单元测试也可以直接从SAP基于Web的开发工作台运行。

这样做的好处是可以直接在SAP基于Web的开发工作台的编辑器中显示代码覆盖率。

还可以在独立的web工具中也可以显示:

通过将JavaScript行代码覆盖率库BlanketJS集成到XSUnit测试框架中,蓝汛云服务器,现在可以看到JavaScript代码的覆盖程度(百分比,(基于行)执行的测试运行。

请注意,所有与模式参数匹配的.xsjslib文件(默认"*test")在默认情况下都被排除。

示例1:为每个导入的.xsjslib文件:/sap/hana/testtools/unit/jasminexs测量覆盖率/TestRunner.xsjs?包装=sap.hana.testtools测试工具.mockstar&coverage=true

示例2:测量mockstar包:/sap/hana/testtools/unit/jasminexs中每个.xsjslib文件的覆盖率/TestRunner.xsjs?包装=sap.hana.testtools&coverage=sap.hana.testtools.mockstar

示例3:如果要排除测试包中的测试帮助程序,可以通过"exclude"参数:/sap/hana/testtools/unit/jasminexs指定它们/TestRunner.xsjs?包装=sap.hana.testtools&coverage=true&exclude=sap.hana.testtools.mockstar.tests

但是,测试工具也可以作为服务调用运行。这样,如果您希望定期执行测试或通过代码更改触发测试,您可以使用Jenkins作为持续集成服务器。单元测试从Jenkins和结果存储并显示在Jenkins中。这是我们在SAP内部使用的一个过程。

要编写可在任何系统中执行的独立单元测试,您必须以独立的方式测试HANA模型。

例如,HANA视图通常与其他HANA视图或数据库表有依赖关系。这些依赖关系将数据传递给"测试中的视图",并且不能被测试控制和覆盖。这意味着您需要模拟"被测视图"的依赖关系。

模拟框架,即Mockstar帮助您使用驻留在专用测试表中的特定测试数据测试您的模型。

因此,它会创建一个源视图/过程的副本,其中依赖视图/表由测试表替换。

可以准备这些(临时)表,由测试控制和填充。

mocking的优点是:

在哪里可以找到hana测试工具交付单元,广州阿里分销,看起来它没有随SP09 Rev 95一起装运

你好,云计算服务器,Xavier,

你说得对,默认情况下hana测试工具没有装运。您需要从SAP支持门户下载相应的交付单元。它是免费的。请遵循以下路径:

支持包和补丁>H>SAP HANA PLATFORM EDITION>SAP HANA PLATFORM EDIT 1.0>Entry by Component>HANA XS Testtools content>HANA TEST TOOLS 1.0

问候

Johannes

谢谢!!!。我已经从服务市场下载了

问候,

Xavier

你好,Thomas,

我想知道是否存在,或者是否有计划,为自顶向下(ABAP->HANA)实现(CDS/AMDB/Open SQL)的SQL过程创建这样的单元测试的能力?

谨致问候,云数据库方案,

您已经可以为SQLScript程序编写XSUnit测试了。SHINE内容中有示例。至于HANA测试工具上的ABAP,您必须询问ABAP方面的人员。此测试套件(以及相应的博客)仅关注HANA本机工具。

嗨,托马斯和开发人员。

这似乎是通过存储库对象工作的。如果只有目录对象,它能工作吗?我知道这不是创建HANA对象的推荐方法,但这是我无法控制的。

如果问题还没有答案,我会尝试一下并分享我的发现。我怀疑其他人可能也有同样的问题。谢谢!

嗨,托马斯

我有一个.hdb程序,它使用一个.hdb序列自动生成一个ID,我想知道如何模拟我正在用Jasmine单元测试Hana的SP中使用的.hdb序列?

虽然我们可以模拟表及其用法,但我不知道在当前的框架中有什么可以模拟使用hdbsequence的。这需要在过程的实现中替换INSERT语句本身的逻辑。这将是相当困难的,并且可能会破坏您正在测试的对象的完整性。

您是否只关心使用序列中的数字的测试用例?这真的是开发系统中的问题吗?无论如何,单元测试不应该在生产系统中执行。

感谢Thomas的快速响应,事实证明,运行.hdb过程的单元测试不需要.hdb序列的模型。希望这能回答ppl的问题,如果他们有类似的我。

文章来源:www.vmchk.com

 
你可能喜欢的: