- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有非常简单的 php 界面:
interface HasFormattableNumber {
function setNumber();
function setFormat();
function formatNumber();
}
接下来,我有很多实现这个接口(interface)的类。不幸的是,这些类不能有一个共同的祖先(可能是一个只实现这些方法一次的抽象类)。该类基本上是这样的:
class A implements HasFormattableNumber {
private $_number;
private $_format;
public function setNumber($n) {
$this->_number = $n;
}
public function setFormat($f) {
$this->_format = $f;
}
public function formatNumber() {
return sprintf($this->_format, $this->_number);
}
}
单元测试看起来像这样:
class ATest extends \PHPUnit_Framework_TestCase {
public function testShouldFormatNumber() {
$a = new A();
$a->setNumber(123);
$a->setFormat("xx-%d");
$this->assertEquals("xx-123", $a->formatNumber());
}
}
是否有可能以某种方式为所有接口(interface)实现重用此测试用例?我知道我可以将 testShouldFormatNumber() 复制并粘贴到我的所有单元测试中,但我更愿意尽可能将它保存在一个地方。
php Traits 有什么帮助吗? (不过,我还没有使用 php 5.4)
最佳答案
您可以创建一个看起来像您的 ATest 的基础测试,除了您不在其中初始化类 A,而是使用您将在所有实现中定义的类变量。您将文件放在一个目录中或使用一个名称,这样 PHPUnit 就不会运行它。然后在您的测试中,您可以从它继承并在 setUp() 中将对象创建为类变量。
关于php - 使用相同的 PHPUnit 测试用例测试多个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12235298/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!