Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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
Unit testing 如何对组件进行单元测试';purescript中的查询求值?_Unit Testing_Purescript_Halogen - Fatal编程技术网

Unit testing 如何对组件进行单元测试';purescript中的查询求值?

Unit testing 如何对组件进行单元测试';purescript中的查询求值?,unit-testing,purescript,halogen,Unit Testing,Purescript,Halogen,purescript组件有一个eval函数,用于定义如何评估查询。我想编写测试来涵盖组件的行为;我该怎么做呢 例如,如果我的组件在其查询代数中有GetValue,我想编写一个测试,创建具有初始状态的组件,评估GetValue查询,并断言收到的值与初始状态中提供的值相匹配。如果我的组件也有一个SetValue,我可能会断言在SetValue之后计算GetValue会返回我所期望的结果 我找不到任何此类测试的示例(我经常参考Slamdata的代码,但我看到的唯一测试是Selenium测试) 我觉得解

purescript组件有一个
eval
函数,用于定义如何评估查询。我想编写测试来涵盖组件的行为;我该怎么做呢

例如,如果我的组件在其查询代数中有
GetValue
,我想编写一个测试,创建具有初始状态的组件,评估
GetValue
查询,并断言收到的值与初始状态中提供的值相匹配。如果我的组件也有一个
SetValue
,我可能会断言在
SetValue
之后计算
GetValue
会返回我所期望的结果

我找不到任何此类测试的示例(我经常参考Slamdata的代码,但我看到的唯一测试是Selenium测试)

我觉得解决方案必须存在于
queryComponent
initializeComponent
等函数所在的位置;我已经查看了源代码,试图了解如何使用它们,但我一直无法理解


有人可以给我举一个测试卤素元件的例子,或者解释一下如何创建一个元件,让它评估一个查询,并观察结果吗?

这确实是一个有点悬而未决的问题。卤素是为了能够做到这一点而设计的,但我们还没有将任何东西付诸实践-想法是为组件使用
g
,允许轻松模拟有效的操作(因此
Aff
是不必要的),然后使用自定义驱动程序运行组件。。。挥手示意这确实是一个有点悬而未决的问题。卤素是为了能够做到这一点而设计的,但我们还没有将任何东西付诸实践-想法是为组件使用
g
,允许轻松模拟有效的操作(因此
Aff
是不必要的),然后使用自定义驱动程序运行组件。。。挥手示意