Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testing 在testfx中启用失败测试的屏幕截图功能_Testing_Javafx_Integration Testing_Testfx - Fatal编程技术网

Testing 在testfx中启用失败测试的屏幕截图功能

Testing 在testfx中启用失败测试的屏幕截图功能,testing,javafx,integration-testing,testfx,Testing,Javafx,Integration Testing,Testfx,我目前正在使用以下版本为JavaFX应用程序构建测试: testfx core 4.0.1-alpha TestFXJUnit4.0.1-alpha 关于如何为失败的测试启用screeshot taking功能以及如果默认情况下在存储它们的位置启用该功能,没有太多信息?基本上,向失败消息添加屏幕截图(或以任何方式根据您的需要定制消息)非常简单:支持位于org.testfx.util.DebugUtils,f.i.saveScreenshot()获取故障屏幕截图,并将其存储在默认位置(即顶级项

我目前正在使用以下版本为JavaFX应用程序构建测试:

  • testfx core 4.0.1-alpha
  • TestFXJUnit4.0.1-alpha

关于如何为失败的测试启用screeshot taking功能以及如果默认情况下在存储它们的位置启用该功能,没有太多信息?

基本上,向失败消息添加屏幕截图(或以任何方式根据您的需要定制消息)非常简单:支持位于
org.testfx.util.DebugUtils
,f.i.
saveScreenshot()
获取故障屏幕截图,并将其存储在默认位置(即顶级项目文件夹的路径)

路径可通过为路径f.i.(用于win)提供自定义供应商进行配置


不完全确定版本依赖性:4.0.1有点旧(从2015年3月开始),当前是4.0.15(从2018年10月开始),我的是4.0.14(从2018年8月开始)

看看DebugUtils:它附带了一系列方法来定制错误输出,包括屏幕截图(不完全确定是否在4.01中可用,我的类似于4.0.14,有一些调整…)我不知道这是否是因为我的testfx版本,但即使使用默认路径,我也可以获得失败的测试屏幕截图。那是威德!?我从源代码中看到,测试在生成的png名称中有一个测试fx前缀。我在我的文件系统中找不到任何文件查看失败测试的错误消息:它有一行打印图像文件的完整(绝对)路径我没有错误指示屏幕截图或任何内容的路径!。也许,这与我目前使用的版本有关也许,不能说-但是你确定测试失败了吗?
verifyThat(myNode, myMatcher, saveScreenshot());
verifyThat(myNode, myMatcher, 
            saveScreenshot((() -> Path.of("C:\\Temp\\testfailures", "mytest.png")), ""));