language-agnostic - 关于测试领域特定语言的好的引用资料有哪些?

标签 language-agnostic testing

我正在创建一种新的领域特定语言。你如何测试一种语言,或者你可以用一种语言做些什么(转换、编译、检查)。 学习最佳实践的良好引用或起点是什么?

最佳答案

您可以以测试先行的方式构建编程语言:

  1. 用您正在创建的语言创建脚本
  2. 通过调查其副作用断言该脚本有效。您可以通过例如用宿主语言(机器语言)创建单元测试,用新语言执行脚本。

如果您想了解有关如何创建编程语言的更多信息,“The Definitive ANTLR Reference”一书是一个很好的起点。

下面是一个非常有用的测试新语言语法的模式:

  1. 解释脚本并构建 AST
  2. 从 AST 生成新语言的代码
  3. 从生成的代码生成 AST
  4. 断言两个 AST 结构相同

有时断言从两个 AST 生成的代码是相同的会更方便。

像构建语言一样构建测试:

  1. 词汇
  2. 句法
  3. 语义

关于language-agnostic - 关于测试领域特定语言的好的引用资料有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1298243/

相关文章:

ruby-on-rails - Rails 测试、 fixture 和类加载顺序

visual-studio-2010 - CodedUI 测试 : recognize html entities character

selenium - 使用 selenium webdriver 预先记录的步骤进行性能/负载测试

language-agnostic - 人们今天使用的可扩展语言是什么?

database - 预先生成一个 Guid 并将其作为主键插入到表中有多安全?

language-agnostic - 二维游戏原型(prototype)的敏捷语言?

language-agnostic - 如何设计可扩展的软件(插件架构)?

javascript - multiCapabilities 和 jasmine 重点测试

java - 哪些库可用于分析口语关键字和/或语音到文本的音频文件?

unit-testing - 测试非不透明错误值