2016-01-22 47 views
1

我正在创建一个烬插件,我有点卡住试图为它编写测试。这个插件实现了一个命令行选项,而不是传送组件等。因此,在开箱即用qunit测试中,没有一个moduleFor类型测试助手与我相关。我没有渲染任何组件,我只是想让测试运行者扩展我的命令行选项后面的实现。从开箱即用的测试中直接导入烬插件代码

要写我的测试,我需要只需要我的各种源文件在我的插件。例如,位于root/lib中的文件。我无法获得在root/tests/integration下的qunit集成测试中可以找到这些文件的require/import。这可能吗?我需要一个像这样的相对路径:

import foo from '../../../lib/foo' 

但是没有什么似乎工作。对于一个插件创建的文件夹结构是这样的:

    • 应用
    • LIB(正打算把我在这里的附加IMPL)
    • 测试
      • 虚拟
      • 帮手
      • 整合
      • 例如,test.js(试图从这里引用的代码了lib文件夹中)

好像我在这种情况下,选择只是回落到一些普通的旧JS单元测试(qunit,茉莉花等),基于插件的根,不使用任何烬魔或虚拟应用程序。我想留在由ember generate addon提供的'开箱即用'路径上,但似乎我需要在这里以我自己的方式,所以我可以引用我的源文件。

+0

'从“myAppName/lib目录/ foo'进口FOO;'应该做的伎俩 –

回答

0

使用

import foo from 'myApp/lib/foo' 
+1

应在问题已经提到了这一点,这种方法一半的作品,但在测试中的一个插件,该根应用程序实际上是测试文件夹中的虚拟应用程序。我不确切知道这个呃分解器在做什么,但是它使得应用程序根目录是虚拟应用程序,而不是我的插件应用程序,真正的根。和相对的假人,即'虚拟/../../ lib'没有找到任何东西。 –