测试插件

原文链接:
http://www.jetbrains.org/intellij/sdk/docs/basics/run_configurations/run_configuration_execution.html

IntelliJ平台 代码库中的大多数测试是模型级功能测试。 这意味着:

  • 测试运行在无图形界面环境中,除了一些UI组件外,这是大多数组件的真实运行环境;
  • 测试通常整体测试一个特性,而不是其实现的单个函数;
  • 测试不测试Swing UI,而是直接使用底层模型;
  • 大多数测试使用源文件或一组源文件作为输入数据,执行一个功能,然后将输出与预期结果进行比较。 结果可以为另一组源文件,输入文件中的特殊标记,或直接在测试代码中。

这种测试方法的最大好处是测试非常稳定,并且一旦完成几乎无需维护,无论底层实现被重构或重写多少。

在内部经过大量重构,生命周期超过10年的产品中,我们发现这个好处大大超过了较慢的测试执行的缺点和比较孤立的单元测试更困难的故障调试。

我们的测试方法的另一个结果是我们的测试框架不提供:

  • 我们不提供推荐的模拟方法。在我们的代码库中有一些使用JMock的测试,但是我们发现很难模拟你的插件类与IntelliJ平台 组件的所有相互作用,我们推荐使用真正的组件;
  • 我们不提供Swing UI测试的通用框架。你可以尝试使用如FESTSikuli等工具测试插件UI,但是我们不使用它们且不提供任何使用指导。在内部,我们手动测试Swing UI。

签出这个分步教程,它会教你如何编写和运行自定义语言插件(包括源代码)的自动测试

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,764评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,646评论 19 139
  • 浪子的宣言 如果你美貌 还有一些忧郁 如果你清纯 还有一些冷傲 如果你娇柔 还有一些倔强 如果你伶俐 还有一些任性...
    可乐886阅读 1,079评论 0 0
  • 娇阳似火地生烟, 你我堪如锅上鲜。 吃货心急何必问, 单身热狗最难煎。
    鲁不韦阅读 2,206评论 0 3