我从来没有真正写过任何测试,因为我通常必须使用低预算。所以我通常只是删除演示文件。 但是,我注意到测试目录已经从Symfony 2中的/ src/MyBundle/Test移到了Symfony 3中的/ tests,我想知道为什么?为什么Symfony 3单元测试移出实际包?
捆绑包或者至少我认为它们是应用程序中潜在的“不可剔除”组件。这意味着总是可以在另一个Symfony“运行时”运行/使用相同的软件包,而且几乎毫不费力。
因此,将测试目录从其相关软件包移出到根目录对我来说没有任何意义。无理由地制作独立的软件依赖/不完整。这实际上让我觉得我完全误解了Symfony中bundle的概念。
我也注意到,Symfony的教程开始几年前,迫使他们的用户他们的模板进入/应用/资源。当我得知它时,他们在相关的包中有模板,这对我来说似乎更清洁。如果我已经在一个目录中捆绑了所有东西(!),为什么我应该在外面移动任何东西?也许我在翻译时遇到了一些问题,但在德语中,“捆绑”是一个单位。如果你拆分一捆,你会得到2,但不是一半。
我通常看到的Symfony作为我的包配置的运行时间,所以我不碰任何东西外面/ src目录之外composer.json,AppKernel或配置文件。
好吧,我可以承认,束可以根据周围环境的反应不同 - 但单元测试甚至不应该依赖于上下文,如果我得到了他们的权利。
即使你看到的appbundle作为一个相关的一个特殊的,上下文 - 它仍然是当一些文件可以存在,发现不一致的开发风格,别人可以在一个完全不同的地方被发现。至少AppBundle不应该是一个捆绑包。
好的,谢谢,我想我现在明白了。我不得不承认,我并不是那么有经验的谈论大事,但是一个捆绑包本身就是一种应用程序,所以所有相关的东西都应该放在它的目录中。这包括测试以及模板。但是如果你真的花时间写测试,我想在准备重用之前将它们移回到包中可能是最简单的部分。 – sboesch
如果包是共享的(你从作曲家等得到的),你所说的一切都是真的。如果你有几个本地捆绑包,这种分离不再重要。 –
你说得对。再想一想,我从来没有真正拥有过任何捆绑软件,我从一开始就不知道它会被重用。无论如何,我喜欢处理所有捆绑包,因为我会重用它们,即使它完全没有意义。如果没有任何变化,我会在几个小时内接受您的答案。 – sboesch