我的Spring Web项目包括:

  1. util类;
  2. 存储库;
  3. 服务;
  4. 控制器。

    测试如下:

    1. Util类的单元测试;
    2. HSQLDB存储库的弹簧集成测试;
    3. 与模拟存储库的服务单元测试;
    4. 用模拟服务的控制器单元测试。

      还可以是测试整体项目功能的系统测试。它可以用硒等外部工具进行,或者可以使用弹簧积分测试来执行。

      问题是,我应该在项目中包含这样的弹簧集成系统测试,还是应该以某种方式分开它们?

      我看到一个关于项目中的系统测试的两个问题: 1.他们需要配置调整,因为此类测试不会使用生产配置(例如,测试需要一个本地数据源,而不是来自JNDI的那个); 他们不自主,他们需要一些外部资源等。我不能像往常一样运行它们。

      如何组织系统测试?

有帮助吗?

解决方案

在小项目上,我把它们放在同一个地方。关于大型企业项目(例如,您可能有用的速度杠杆杠杆的类型)我们通常在单独的包/项目中组织系统测试。这有助于将它们与主码字分开。

如果您不这样做,则会将各种诱惑从代码中重用到“帮助外面”,以“帮助OUT”,这些内容应该更强烈地专注于系统用户的经验(用户可能是另一个系统)。如果发生这种情况,您最终会耦合项目域类和UI之间的耦合,这将具有不可避免的效果,需要重复大部分逻辑,这有助于将它们保持在实际代码库中。

大部分时间系统场景中的逻辑实际上将专注于页面,屏幕,网络呼叫等。因此,来自主项目的重用代码是红鲱鱼。保持包分开以避免发生这种情况,因为一旦你避免发生这种情况,就没有必要在同一个地方拥有它们。 但是,请确保将系统测试签到与代码相同的版本控制。

如果您还没有执行持续集成和测试/部署,可能是某些学习将帮助您使用配置文件的另一个区域。不幸的是,那个问题不仅仅是因为在一个单独的项目中进行了测试。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top