【问题标题】:Silverstripe Test not Injecting config for ElementSilverstripe 测试不为 Element 注入配置
【发布时间】:2021-10-26 00:40:56
【问题描述】:

由于某种原因,我的测试没有注入 MockFormElement::$controller_class

我的测试:

class NestedElementForms extends FunctionalTest {
    protected static $fixture_file = 'NestedElementFormsFixture.yml';

    /**
     * @test
     */
    public function submitFormOnElement() {
        $this->assertEquals(MockFormElementController::class, MockFormElement::config()->controller_class, 'Injection failed');
    }
}

我的模拟元素:

class MockFormElement extends BaseElement implements TestOnly
{   
    private static $controller_class = MockFormElementController::class;
}

class MockFormElementController extends ElementController implements TestOnly
{

}

我试过dev/build 并用rm -rf /tmp/silverstripe-... 清除silverstripe 缓存,但没有成功。它保持默认值'DNADesign\Elemental\Controllers\ElementController'

【问题讨论】:

  • 这可能是命名空间问题吗?

标签: php phpunit silverstripe silverstripe-4


【解决方案1】:

要在测试中使用仅测试数据对象,需要在该测试的$extra_dataobjects 配置中明确包含它们

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    • 2019-10-18
    • 1970-01-01
    相关资源
    最近更新 更多