搭建haskell 环境_Haskell中的简单TDD环境

搭建haskell 环境

我最近在Haskell使用保龄球鞋 。 在此过程中,我发现了如何设置环境以轻松进行“测试驱动开发”。 希望其他人可以发现这篇文章对开始使用该语言有所帮助。 我使用了以下组件:

  • Haskell安装: Haskell Platform 。 这也为您提供了GHCi,您可以将其用作交互式环境和类型检查器。
  • IDE:任何编辑器都足够,但是我使用了Visual Studio Code,因为它们具有Haskell的扩展,为我提供了一些基本的IntelliSense功能。
  • 测试库: Hspec ,它基于RSpec 。 可以使用Haskell的软件包管理器cabal从命令行使用cabal install hspec进行cabal install hspec
  • 助手库:Printf用于彩色命令行输出。

使用Hspec文档中的示例,我从代码的以下结构开始:

保龄球测试

module BowlingTests where

import Bowling

import Test.Hspec
import Text.Printf (printf)

testScoreGame :: String -> Int -> Spec
testScoreGame game score =
  it (printf “should return the score for game : %s → %d \n” game score) $
    scoreGame game `shouldBe` score

main = hspec $ do
  describe "scoreGame" $ do 
    testScoreGame "--------------------" 0

因此,要测试功能,请在测试文件中添加一个功能,通常是带有“ test”前缀的相同名称。 此函数将被测函数的输入和预期输出作为参数。 然后使用Hspec描述您要测试的内容。 如您所见,“ it”部分写在测试函数中。 当然,您可以省略此辅助函数,并在main = hspec $ do下编写所有测试,如果您想更详细地描述每个测试正在测试的内容,则可能会更好。

保龄球

module Bowling where

scoreGame :: String -> Int 
scoreGame game = 0

这些文件位于同一目录中,现在我可以从命令行运行测试了。

$ runhaskell BowlingTests.hs

scoreGame
should return the score for game : — — — — — — — — — — → 0

Finished in 0.0000 seconds
1 example, 0 failures

你有它。 现在,我可以专注于编写失败的测试并使其通过。

翻译自: https://www.javacodegeeks.com/2016/05/simple-tdd-environment-haskell.html

搭建haskell 环境

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值