ShmockPHP 测试框架
Shmock(SHorthand for MOCKing)是 PHPUnit 创建 mocks 的平稳替代,使用 EasyMock 的 mock/replay 概念,但是又使用 mocking 定义的闭包范围。
示例代码:
<?php namespace Foo; /** * Here's a class we're trying to test yay. */ class Foo { private $foo = 0; private $incrementing_service = null; public function __construct(Incrementing_Service $incrementing_service) { $this->incrementing_service = $incrementing_service; } public function next_foo() { $this->foo = $this->incrementing_service->increment($this->foo); return $this->foo; } } /** * Our test case runs the same test case twice - once with the original PHPUnit mocking * syntax and a second time with Shmock syntax. */ class Foo_Test extends PHPUnit_Framework_TestCase { use \Shmock\Shmockers; // This enables the use of the Shmock helper methods (replicated below) public function test_phpunit_original_mocking_syntax() { // this is the original PHPUnit mock syntax $incrementing_service_mock = $this->getMock('\Foo\Incrementing_Service', array('increment')); $incrementing_service_mock->expects($this->once()) ->method('increment') ->with($this->equalTo(0)) ->will($this->returnValue(1)); $foo = new Foo($incrementing_service_mock); $this->assertEquals(1, $foo->next_foo(0)); } /** * Create a shmock representation for $class_name and configure expected * mock interaction with $conf_closure * @return Shmock A fully configured mock object * @note You do not need this protected method if you use the Shmockers trait, shown above */ protected function shmock($class_name, $conf_closure) { return \Shmock\Shmock::create_class($this, $class_name, $conf_closure); } public function test_shmock_syntax() { // here's shmock. Neat huh? $incrementing_service_mock = $this->shmock('\Foo\Incrementing_Service', function($shmock) { $shmock->increment(0)->return_value(1); }); $foo = new Foo($incrementing_service_mock); $this->assertEquals(1, $foo->next_foo(0)); } }
评论
selenium-simple-testWeb 测试框架
SST(selenium-simple-test)是一个Web测试框架,使用Python来生成基于浏览器的功能测试。
selenium-simple-testWeb 测试框架
0
AirborneAPI 测试框架
Airborne是一个RSpec驱动的API测试框架,灵感来自于frisby.js示例代码:require 'airborne'describe 'sample spec' do it 'sho
AirborneAPI 测试框架
0
doctestC++ 测试框架
doctest是一个新的C++测试框架。与其他功能丰富的替代方案相比,编译时(by ordersofmagnitude)和运行时是最快的。它提供了编译语言(如 D/Rust/Nim)的能力,并通过提供
doctestC++ 测试框架
0
SpockJava测试框架
Spock是适合Java和Groovy应用程序的一个测试框架。示例代码:importgroovy.sql.Sqlimportspock.lang.*classDatabaseDrivenextends
SpockJava测试框架
0
ZohhakJUnit 测试框架
Zohhak-JUnitParameterized,Zohhak是一个参数化的JUnit测试框架,JUnit自带的对参数化测试的支持是他非常大的一个软肋,前一段时间也曾经有一个叫做JUnitParam
ZohhakJUnit 测试框架
0
truth测试框架
Truth是一个用于测试的assertion/proposition框架。它能够用来取代 JUnit'sassertions,FEST, Hamcrest'smatchers等情况。
truth测试框架
0