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

虚拟主机_大同建设网站_企业级

小七 141 0

虚拟主机_大同建设网站_企业级

一年前,2017年6月10日,Stefan Schmöcker和我在汉堡的SAP Inside Track上介绍了GLADIUS。

GLADIUS

这个想法是创建一个编码挑战平台,如https://codewars.com或https://codefights.com。只有ABAP。这个想法原来很复杂。这就是为什么我和斯特凡没有在这个项目上做进一步的工作的原因。

我们现在坐在一起开始下一个关于格拉迪斯的研究。这是第一个关于代码挑战、单元测试和学习的博客?

格拉迪斯是著名的罗马剑的名字。编码和战斗有很多相似之处:你必须努力工作才能成为一个好的程序员,你必须练习,你需要好的工具。这就是为什么我们认为GLADIUS可能是一个学习工具的好名字?

Codewars或Codefights要求您编写一个函数,为给定的输入返回正确的结果。你可以用C++、JavaScript、Ruby、PHP等语言来编码。这个函数可能是错误的,所以你必须改正它,或者它可以完全空,这样你就必须对完整函数进行编码,以返回正确的结果。java单元测试。你的结果将被大量的单元测试检查。如果有错误的测试,你必须纠正功能。如果所有测试都通过了,你就赢得了挑战。

有可见测试和隐藏测试。对于可见的测试,您可以看到输入和结果。隐藏测试只告诉你是否通过。

我怎么知道正确的结果?

主要有两种类型的挑战:

a)您将得到问题的详细描述。你会得到很多例子和提示,函数应该做什么,不应该做什么。

b)你只有单元测试。必须根据单元测试中给出的结果派生功能。我最喜欢的是这个:

1=泵5=泵10=英尺12=跺脚

2,3,4…的结果是什么…?

回到ABAP

通过这个博客系列,发发淘客神器,我将一步一步地告诉你我们的计划和基础是什么。最后,我们梦想着一个神奇的工作台,在这里可以定义和测试完整的车间或课程,在这里,您可以创建统计数据、定义或度量度量指标等。

下面的步骤将向您展示启动类似ABAP代码斗争的最简单框架。

以下所有对象都完全集成在ABAP workbench或Eclipse中的ABAP中。我们将使用集成的ABAP测试驾驶舱功能。

这些是我们需要的对象:

定义方法的接口(导入和返回参数)访问不同解决方案类的助手类包含功能完整解决方案的主类一个包含所有测试单元的类

用一个简单的方法test\ME和导入参数IN和返回参数OUT定义一个接口。

这个接口将嵌入到有人想创建的所有解决方案类中。

目标是有一个包含测试单元的类和多个不同人的解决方案类。但我们不希望对每个解决方案类都实现单元测试。我们将创建一个超级测试单元类,test master,并从这个类派生。

要访问特定解决方案的类,我们需要一个技巧,购物返现,我们将在helper类中实现:

这个类具有泛型属性MO\u class\u To \u test\u generic。在构造函数中,我们将相应的类与测试对象相匹配。

现在我们有了helper类,软件企业条件,我们可以编写测试单元。这个测试单元类派生自helper类。

这个类是抽象的,并且是一个测试单元类,这一点很重要!

测试方法(=单元测试)必须是公共的,并激活"testmethod"标志:

确保MO\U CLASS\U TO\U测试属性引用测试接口。

测试单元内要测试的类必须是MO\U CLASS\U TO\U测试属性!

test master类只实现了具有测试方法结构的接口,并提供了正确的功能。

该函数只需将给定值乘以自身减去1即可。

请注意,该类具有本地测试单元!但是这些测试单元不是在这个类中实现的,而是从全局测试单元类派生的。

Ready Player 1

这是开始实现您自己的函数的最简单的框架:

当然,想要实现函数的人不应该看到主解决方案的代码!您可以提供一个实现接口并从全局测试类派生的类。

只需创建一个类,全球云购,如ZCL\u GLDS\u DEMO\u SOLUTION\u 1,实现接口ZIF\u GLD\u DEMO\u TEST并创建一个本地测试单元部分,如上图所示。

激活所有这些内容并通过CTRL-SHIFT-F10运行单元测试后,您将看到有错误。

下一步……

也许您可以想象这里面有很多潜力……

至少管理设计应该看起来是这样的类似于:

管理员可以为具有不同任务的车间定义不同的项目。这些可以是新ABAP功能的任务、数学问题或特定于客户的功能。

用户可以注册一个项目。团队领导可以在概述中看到他们的成就。

测试类可能会自动生成。

源代码可能会以字符串形式存储在数据库中,中国电信物联网,而不是存储库中的全局类。

可能会有挑战:谁提供了任务的最快解决方案?谁使用的语句最少?

书籍作者可以用GLADIUS测试用例来丰富他们的例子,这样学习者可以交互式地实践书籍理论。