dongxuan2015
2018-01-30 15:48
浏览 131
已采纳

如何对PHP REST API进行单元测试?

I mean I know I can write PHPUnit tests,
but how to mock web server / mysql server?

I'd also like to test MySQL / database code.
Best would be something suitable for Travis CI.

图片转代码服务由CSDN问答提供 功能建议

我的意思是我知道我可以写 PHPUnit 测试,
如何模拟web服务器/ mysql服务器

我也想测试 MySQL /数据库代码。
最适合Travis CI。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongzhukuai8177 2018-01-30 15:57
    已采纳

    I like using codeception for my acceptance tests, but regardless, the travis setup is pretty much the same. Install a selenium server!

    language: php
    
    php:
      - 5.6
      - 7.0
      - 7.1
      - hhvm
    
    matrix:
      allow_failures:
        - php: hhvm
    
    addons:
      hosts:
        - FAKEHOSTNAMEHERE
    
    sudo: false
    
    
    install:
      - wget http://selenium-release.storage.googleapis.com/2.42/selenium-server-standalone-2.42.2.jar
      - composer install
    
    
    before_script:
      - export DISPLAY=:99.0
      - sh -e /etc/init.d/xvfb start
      - sleep 5
      - java -jar selenium-server-standalone-2.42.2.jar -port 4444 &
      - "mysql -e 'create database codeception_test;'"
      - nohup php -S FAKEHOSTNAMEHERE:8000 public/index.php &
    script:
      - php vendor/bin/codecept run  --coverage-xml --env travis
    after_script:
      - phpunit --coverage-clover=coverage.clover
      - wget https://scrutinizer-ci.com/ocular.phar
      - php ocular.phar code-coverage:upload --format=php-clover tests/_output/coverage.xml
    

    Just replace the FAKEHOSTNAMEHERE with whatever you need.

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题