Re:使用Hamcrest自动测试JSL(2019-EU-45MP-061)是否有比较数据表的最佳实践?我找不到匹配器。
Re:使用Hamcrest自动测试JSL(2019-EU-45MP-061)前几天我只是在想这个 @vince_faller 。 你找到答案了吗?我一直在考虑使用“比较数据表”平台,但没有看到可以在单元测试中使用的输出。
Re:使用Hamcrest自动测试JSL(2019-EU-45MP-061)你好 @ nathan-clark ,
我们一直在这里讨论数据表匹配器如何在GitHub上工作: https://github.com/sassoftware/jsl-hamcrest/pull/57
我认为 @vince_faller 可能已经在做一些事情了。
-贾斯汀
Re:使用Hamcrest自动测试JSL(2019-EU-45MP-061)谢谢!我赶上了对话,我认为你们的方向正确。我期待看到合并的内容!
回复:使用Hamcrest自动化JSL的测试(2019-EU-45MP-061)你好@Justin_Chilton ,谢谢您的介绍。您能否分享您开发成演示文稿的示例:JMPMan应用程序和JMPManGuiTests.jsl?对我来说,将脚本编写逻辑复制到其他应用程序中应该更容易。非常感谢。卡罗尔
使用Hamcrest自动化JSL测试(2019-EU-45MP-061)级别:高级
职务:程序员
JMP SAS JMP高级助理测试工程师Justin Chilton
SAS JMP软件开发人员Evan McCorkle
您是否编写了一些JSL,并且在每次更改后都厌倦了手动测试?您是否无意间破坏了应用程序的某些部分,或者担心这样做会阻止您进行想要进行的更改?借助自动测试,您可以对所做的更改更有信心。 现在提供了一套用于自动化JSL测试的工具。该框架包括创建测试和测试用例,以及众所周知的Hamcrest断言库的实现。Hamcrest提供了灵活的方法来断言您对JSL行为的了解是正确的。这些工具功能齐全,可以根据您的需求进行专用。实际上,JMP开发甚至使用它们来测试JMP本身。 该演示将涵盖该框架及其在测试示例JSL应用程序中的使用,从单个功能到GUI交互的自动化。
爆发JSL应用程序开发回复:使用Hamcrest自动化JSL的测试(2019-EU-45MP-061)你好@carole ,JMPMan示例位于加载项中,但我已将它们上载到zip文件中,以使它们更易于访问。如果您有任何疑问,请告诉我!
回复:使用Hamcrest自动化JSL的测试(2019-EU-45MP-061)非常感谢你@Justin_Chilton 。我发现该插件当然感谢!对于这些问题,我想知道是否要对具有UI的应用程序使用hamcrest测试,是否必须使用Define Class()和Method()?我不熟悉这种脚本编制方式...
回复:使用Hamcrest自动化JSL的测试(2019-EU-45MP-061)@carole ,只要您仅使用我们现有的匹配器编写测试,就无需使用类。如果需要编写自己的匹配器,则需要使用Define Class()和Method(),但是我们提供了大量的库,因此您可能不需要更多。
回复:使用Hamcrest自动化JSL的测试(2019-EU-45MP-061)好的,谢谢您的精确度。我将在一个简单的应用程序上对其进行测试。也许我还有其他问题...
回复:使用Hamcrest自动化JSL的测试(2019-EU-45MP-061)对不起,我的例子很简单@Justin_Chilton 。我试图简化我的问题。在接下来的测试中,如何避免在选择文件窗口中单击?
openfile = function ( {},
strPathOpen = PickFile("Select the Data Set Table","$SAMPLE_DATA",{"JMP DATA TABLE|JMP"});
return(strPathOpen)
);
ut test("Pickfileok", "Open Big Class File", Expr(
ut assert that(Expr(openfile()), "/C:/Program Files/SAS/JMP/15/Samples/Data/Big Class.jmp");
));
回复:使用Hamcrest自动化JSL的测试(2019-EU-45MP-061)你好@carole ,
对于延迟的回复表示歉意,因为我没有看到您的回复。在这种情况下,我将向“ openfile”函数添加一个可选参数,您可以在测试过程中传递该参数,以避免需要弹出对话框。
以下是您脚本的更新,您可以在其中传递可选的args。另一种选择是使用某种标志,例如“ isTest”,您可以在代码中签入该标志,以免出现这种模态对话框。
openfile = function ( {path = Empty()},
strPathOpen = If(IsEmpty(path),
PickFile("Select the Data Set Table","$SAMPLE_DATA",{"JMP DATA TABLE|JMP"}),
path
);
If(strPathOpen != "", Open(strPathOpen), Empty());
);
ut test("Pickfileok", "Open Big Class File", Expr(
dt = openfile("$SAMPLE_DATA/Big Class.jmp");
ut assert that(Expr(dt), ut n col(5), "opened table should have 5 columns");
));回复:使用 Hamcrest 自动测试 JSL (2019-EU-45MP-061)你好@Justin_Chilton ,谢谢您的回答。在阅读您之前,我已经找到了您作为示例编写的解决方案,因此您向我确认我的方法是正确的。由于我回到这个项目,我可能会在几天内有新的问题...... 再次感谢您的回答。