1

我们使用 gradle 作为我们的构建工具,并使用 idea 插件来生成项目/模块文件。该项目的新开发人员的流程如下所示:

  • 从源代码管理中提取。
  • 运行'gradle idea'。
  • 开放的想法,无需任何进一步的设置即可开发。

这一切都很好,但通常只有在新开发人员加入或有人获得新机器时才会得到锻炼。我真的很想更频繁地自动化测试,就像我们自动化单元/集成测试作为我们持续集成过程的一部分一样。

有谁知道这是否可能以及是否有任何图书馆可以做这种事情?

你也可以用idea代替eclipse,因为我们为那些喜欢使用eclipse的人提供了类似的过程。

4

2 回答 2

0

正如彼得所指出的,真正的挑战是第 3 步。前两个由您的 SCM 插件和 gradle 任务解决。您可以尝试通过执行类似这样的操作来自动执行最后一项任务

  • 在您的平台上确定从命令行打开指定 intellij 项目的正确命令行选项

  • 找到一个简单的足够好的场景,可以验证生成的项目是否正常工作。例如,先清理然后再构建。确保您只能使用键盘快捷键重现这些步骤。可以通过验证生成的工件或测试结果报告等来进行验证

  • 使用外部库(如 Robot)来编程 intellij 的启动和键盘的运行。这是 Robot 的一个简单示例。为此使用带有内置控制台的动态语言而不是纯 Java,它将大大加快您的脚本编写速度......

  • 另一个想法是在 intellij 中包含一个守护程序插件,以从外部 CLI 传回命令。否则,请与 intellij 团队联系,他们可能会为您的工作提供一些帮助。

笔记:

  • 谨防误报:任何失败都可能是由外部问题引起的,例如项目不稳定。尝试确保您仅从经过验证的工作项目中构建...

  • 当心误报:任何假设/未经检查的结果代码都可能隐藏问题。确保您正确清洁工作区、安装,以获得可重复的状态和标准场景匹配首次使用。

最后的想法:虽然从理论角度来看很有趣,但这个自动化练习可能不会带来所有需要的结果,即平台的验证。尽管如此,这仍然是一次有趣的学习经历,可以作为简短谈话的材料,尤其是当你发现有趣的东西时。当您有几个空闲时间尝试看看谁可以最快地实施可行的解决方案时,让它成为您的团队的啤酒挑战者;)祝您好运!

于 2013-08-14T22:39:48.543 回答
0

第二步(有或没有第一步)很容易冒烟测试(只需将任务作为 CI 构建的一部分执行),第三步则不那么简单。但是,如果您遵循最佳实践并重新生成 IDEA 文件而不是将它们提交到源代码控制,开发人员可能会或多或少地定期执行这两个步骤(例如,每次依赖项更改时)。

于 2013-08-13T11:21:33.467 回答