当尝试在Matomo中运行资产等于数组时单元测试失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当尝试在Matomo中运行资产等于数组时单元测试失败相关的知识,希望对你有一定的参考价值。

也许需要启用php扩展来完成这项工作。当在数组中使用assertEquals时,usort的所有测试都在下降。

请看下面的测试结果:

13) PiwikTestsUnitDataAccessJoinGeneratorTest::test_sortTablesForJoin_shouldSortTablesWithCustomJoinRequiringEachOther2
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
Array (
    0 => 'log_link_visit_action'
    1 => Array (
        'table' => 'log_action'
-        'tableAlias' => 'log_action_idaction_event_action'
-        'joinOn' => 'log_link_visit_action.idaction_event_action = log_action_idaction_event_action.idaction'
+        'tableAlias' => 'log_action_visit_entry_idaction_name'
+        'joinOn' => 'log_visit.visit_entry_idaction_name = log_action_visit_entry_idaction_name.idaction'
    )
    2 => Array (
        'table' => 'log_action'
-        'tableAlias' => 'log_action_visit_entry_idaction_name'
-        'joinOn' => 'log_visit.visit_entry_idaction_name = log_action_visit_entry_idaction_name.idaction'
+        'tableAlias' => 'log_action_idaction_event_action'
+        'joinOn' => 'log_link_visit_action.idaction_event_action = log_action_idaction_event_action.idaction'
    )
)

/matomo-3.5.1/tests/PHPUnit/Unit/DataAccess/LogQueryBuilder/JoinGeneratorTest.php:428

FAILURES!
Tests: 6521, Assertions: 10544, Failures: 13.
答案

也许你应该尝试qazxsw poi用于更好的阵列

另一答案

对于assertSameassertEquals,排序顺序在数组上必须相同才能通过。想象一下,如果你json_encode他们是否会最终得到相同的结果。看起来您的数组不是基于phpunit输出的相同排序顺序。

assertSame

以上是关于当尝试在Matomo中运行资产等于数组时单元测试失败的主要内容,如果未能解决你的问题,请参考以下文章

Xcode单元测试:尝试将测试数据从单元测试写入项目文件夹时权限被拒绝

如何在Visual Studio项目和单元测试项目之间建立联系?

Xunit单元测试将无法运行

如何在 Xcode 7 中动态更改单元测试的目标?

如何从资产中获取不同的图像并将其分配给不同表格视图单元格中的图像视图

在单元测试用例的 TFS 构建中找不到路径的一部分