Choose Language Hide Translation Bar

Automate the Testing of JSL Using Hamcrest ( 2019-EU-45MP-061 )

Level: Advanced
Job Function: Programmer
Justin Chilton, JMP Senior Associate Test Engineer, SAS
Evan McCorkle, JMP Software Developer, SAS

Have you written some JSL and gotten tired of manually testing after every change? Have you inadvertently broken some piece of your application, or has the fear of doing so prevented you from making the changes you want to make? With automated testing, you can be more confident in your changes. Now available is a set of tools for automating the testing of JSL. This framework includes the creation of tests and tests cases, as well as an implementation of the well-known Hamcrest assertion library. Hamcrest provides flexible ways to assert what you know to be true about the behavior of your JSL. These tools are full-featured and can be specialized for your needs. In fact, JMP development even uses them to test JMP itself. The presentation will cover this framework and its use in testing an example JSL application, from individual functions to the automation of GUI interactions.


Is there a best practice for comparing data tables?  There isn't a matcher I can find. 

I was just thinking about this the other day, @vince_faller. Have you found an answer yet? I was looking into using the Compare Data Tables platform, but didn't see an output I could use in a unit test.

Hi @nathan-clark,

We have been discussing how a data table matcher might work on GitHub here:

I think @vince_faller might be working on something already.


Thanks! I caught up with the conversation and I think you guys are on the right track. I look forward to seeing what is merged in!