首页 理论教育 Elixir函数式编程入门,运行新任务

Elixir函数式编程入门,运行新任务

时间:2023-11-20 理论教育 版权反馈
【摘要】:使用mix new创建游戏程序的初始结构。我们只需要给出应用程序的名称,mix new将完成剩下的工作。输出消息还告诉我们使用cd dungeon_crawl可以进入项目目录,以及使用mix test可以运行测试。这里,use ExUnit.Case指令为DungeonCrawlTest模块添加了运行测试和工具函数的能力。感谢doctest指令,第二个测试将检查文档中的例子,看代码是否按预期工作。

Elixir函数式编程入门,运行新任务

使用mix new创建游戏程序的初始结构。我们只需要给出应用程序的名称,mix new将完成剩下的工作。让我们创建dungeon_crawl项目:

输出消息显示了项目的基本目录结构。其中lib目录是存放程序代码的地方。test目录用于存放测试代码。输出消息还告诉我们使用cd dungeon_crawl可以进入项目目录,以及使用mix test可以运行测试。我们来试试:

mix test任务会自动检测需要编译的文件,然后编译文件并启动应用程序测试。结果显示有两个测试且都通过了。测试是以随机顺序执行的,可以使用种子编号按顺序重复执行。第一个测试放在test/dungeon_crawl_test.exs里:

这里出现了一个新指令use,它允许另一个模块在调用的模块上执行操作和注入代码。它通过元编程为当前模块增加新功能。这里,use ExUnit.Case指令为DungeonCrawlTest模块添加了运行测试和工具函数的能力。(www.xing528.com)

指令doctest来自ExUnit.Case。它解析我们的模块文档,运行其中的代码,并检查它是否正常工作。最后是测试代码,它只做了一个断言:assert DungeonCrawl.hello() ==:world。稍等!还有一个测试在哪里?第二个测试在lib/dungeon_crawl.ex文件里:

这个文件中有一大段文档。感谢doctest指令,第二个测试将检查文档中的例子,看代码是否按预期工作。这个功能可以检查文档是不是最新的,对于库的维护者来说非常有用。本书不打算详细介绍测试和文档,感兴趣的读者可以查看ExUnit的官方文档。[2]

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈