使用Travis CI在UNIX shell脚本上进行测试

时间:2013-12-08 03:54:57

标签: shell unix travis-ci shunit2

背景

我一直在为我的PHP项目使用Travis CI,我真的很喜欢他们如何为你提供一个图片的链接,该图片显示了项目当前版本的状态。

我目前正在使用UNIX shell脚本制作大量工具,并希望使用Travis CI来测试我的UNIX脚本。

我在互联网上搜索,试图找到如何实现这一目标。我去了主网站,搜索了Stackoverflow并进行了一些谷歌搜索。

似乎这是不可能的。

我目前使用 shunit2 来测试我的shell脚本和函数。

我的问题是:

  1. 是否可以使用Travis CI测试shell脚本?
  2. 如果没有,我可以使用该插件插入GitHub吗?
  3. 对shell脚本执行集成测试的最佳方法是什么?

3 个答案:

答案 0 :(得分:37)

绝对

我在这里做了一个简单的测试:https://travis-ci.org/soulseekah/test-shunit2-travis

我的.travis.yml文件是:

language: bash

before_script:
    - curl -L "http://downloads.sourceforge.net/shunit2/shunit2-2.0.3.tgz" | tar zx

script:
    - bash equality_test.sh

存储库:https://github.com/soulseekah/test-shunit2-travis

答案 1 :(得分:10)

我将所有内容都转换为Makefile,然后调用make test ...

language: bash
script: make test

我正在使用assert.sh,因此不需要before_script。您可以在https://github.com/wmluke/dokku-domains-plugin处查看。

答案 2 :(得分:1)

如果需要最新版本的shUnit2,则可能需要从master分支获取它。

我知道它是这样工作的:

---
language: bash
before_script: "sudo curl -o /usr/local/bin/shunit2 https://raw.githubusercontent.com/kward/shunit2/master/shunit2"
script: "bash shunit2/test_example.sh"

另请参见我的示例shunit2 repo here