Contents

Dart testing

软件测试是应用程序开发的重要组成部分,可帮助您在发布应用程序之前验证其是否正常运行. 本Dart测试指南概述了几种测试类型,并指出了可以在其中学习如何测试移动, Web服务器端应用程序和脚本的方法 .

Kinds of testing

Dart测试文档集中于您可能熟悉的多种测试中的三种测试 :单元,组件和端到端(集成测试的一种形式). 测试术语有所不同,但是使用Dart技术时,您可能会遇到以下术语和概念:

  • 单元测试专注于验证最小的可测试软件,例如功能,方法或类. 您的测试套件应具有比其他类型的测试更多的单元测试.

  • 组件测试可验证组件(通常由多个类组成)的行为符合预期. 组件测试通常需要使用模拟对象,这些对象可以模仿用户操作,事件,执行布局以及实例化子组件.

  • 集成端到端测试可验证整个应用程序或大部分应用程序的行为. 集成测试通常在真实的设备或OS模拟器(针对移动设备)或浏览器(针对Web)上运行,并且由两部分组成:应用程序本身,以及使应用程序步入正轨的测试应用程序. 集成测试通常会衡量性能,因此测试应用程序通常在与被测试应用程序不同的设备或操作系统上运行.

Generally useful libraries

尽管测试部分取决于代码所针对的平台(例如,Flutter,Web或服务器端),但以下程序包在Dart平台上很有用:

  • 包装:测试
    提供在Dart中编写测试的标准方法. 您可以使用测试包执行以下操作:
    • 编写单个测试或测试组.
    • 使用@TestOn批注将测试限制为在特定环境中运行.
    • 编写异步测试就像编写同步测试一样.
    • 使用@Tag批注进行标签测试. 例如,定义标签以为某些测试创建自定义配置,或者将某些测试标识为需要更多时间才能完成.
    • 创建dart_test.yaml文件以配置跨多个文件或整个程序包的标记测试.
  • package:mockito
    Provides a way to create mock objects, easily configured for use in fixed scenarios, and to verify that the system under test interacts with the mock object in expected ways. For an example that uses both package:test and package:mockito, see the International Space Station API library and its unit tests in the mockito package.

Flutter testing

使用以下资源来了解有关测试Flutter应用程序的更多信息:

Web testing

使用以下资源来了解有关测试Dart Web应用程序的更多信息:

Other tools and resources

您可能还会发现以下资源对于开发和调试Dart应用程序很有用.

IDE

当涉及调试时,您的第一道防线就是您的IDE. Dart插件可用于许多常用的IDE .

Dart DevTools

Dart DevTools是Dart和Flutter的一套性能工具. 有关详细信息,请参见Dart DevTools文档.

Continuous integration

考虑在每次提交后使用持续集成(CI)来构建项目并运行其测试. GitHub的两个CI服务是Travis CI (用于OS X和Unix)和AppVeyor (用于Windows).

Travis具有对Dart项目的内置支持. 通过以下链接了解更多信息:

  • 构建Dart项目介绍了如何为Dart项目配置Travis
  • 架子示例使用dart_task标记(在.travis.yml )来配置构建.

by  ICOPY.SITE