小编Ric*_*nop的帖子

如何在 Windows 中运行 PHPUnit 测试?

所以我通过从 pear.phpunit.de 下载文件并将它们解压缩到 C:\PHP\PEAR 文件夹来手动安装 PHPUnit。我在包含路径中有 PEAR 文件夹。我怎样才能运行这个测试?

class StackTest extends  PHPUnit_Framework_TestCase
{
    public function testEmpty()
    {
        $stack = array();
        $this->assertEmpty($stack);

        return $stack;
    }

    /**
     * @depends testEmpty
     */
    public function testPush(array $stack)
    {
        array_push($stack, 'foo');
        $this->assertEquals('foo', $stack[count($stack)-1]);
        $this->assertNotEmpty($stack);

        return $stack;
    }

    /**
     * @depends testPush
     */
    public function testPop(array $stack)
    {
        $this->assertEquals('foo', array_pop($stack));
        $this->assertEmpty($stack);
    }
}
Run Code Online (Sandbox Code Playgroud)

PHPUnit 目录中没有可执行的命令行工具。

php phpunit

3
推荐指数
1
解决办法
5546
查看次数

我试图将UIActivityIndi​​catorView放在UITableView上,但它有顶级边距

我在Snow Leopard上使用Xcode 4.2.我想做什么.基本上,我有一个带有表视图的主视图控制器.为了填充表视图,我需要调用API并从那里下载信息.

从API下载数据时,我想显示一个活动指示器,以便让用户知道正在发生的事情并且应用程序没有卡住.

我所做的是我在表格视图上创建了一个新的UIView,其中包含alpha 0.5并在其中间放置了一个活动指示器.这是我在主控制器视图加载时执行的代码:

// Show the activity indicator
self.overlayView = [[UIView alloc] init];
self.overlayView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5];
self.overlayView.frame = self.tableView.frame;
self.activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
CGRect frame = self.overlayView.frame;
self.activityIndicator.center = CGPointMake(frame.size.width/2, frame.size.height/2);
[self.overlayView addSubview:self.activityIndicator];
[self.activityIndicator startAnimating];
[self.tableView addSubview:self.overlayView];
Run Code Online (Sandbox Code Playgroud)

从API加载数据时,我隐藏了叠加视图和活动指示器:

[self.activityIndicator removeFromSuperview];
[self.overlayView removeFromSuperview];
Run Code Online (Sandbox Code Playgroud)

它工作正常,但问题是叠加视图没有正确对齐,它有一个上边距,它看起来不太好.以下是它的外观:

在此输入图像描述

iphone xcode objective-c

3
推荐指数
1
解决办法
5505
查看次数

如何检查数组中的值是否为NULL?

所以我正在解析一个推特时间表.JSON响应中有一个名为"follow"的字段.它应该是真的还是假的.

但有时候这个领域不见了.

当我做:

NSLog(@"%@", [[[timeline objectAtIndex:i] objectForKey:@"user"] objectForKey:@"following"]);
Run Code Online (Sandbox Code Playgroud)

这是输出:

1
1
0
0
1
<null>
1
1
Run Code Online (Sandbox Code Playgroud)

那么如何检查这些值呢?

iphone xcode objective-c ios

3
推荐指数
1
解决办法
5353
查看次数

从Python导入自定义包失败

所以我有一个main.py file内部/home/richard/projects/hello-python目录:

import sys
   sys.path.append('/home/richard/projects/hello-python')

   from Encode  import Ffmpeg
   x = Ffmpeg()
   x.encode()
Run Code Online (Sandbox Code Playgroud)

然后我在/home/richard/projects/hello-python/Encode目录中创建了一个包:

__init__.py
Ffmpeg.py
Run Code Online (Sandbox Code Playgroud)

Init文件为空.Ffmpeg.py文件包含:

class Ffmpeg(object):


   i = 150

   def __init__(self):
       print "i am constructor"

   def encode(self):
       print "hello world"
Run Code Online (Sandbox Code Playgroud)

现在我main.py像这样运行脚本:

python main.py
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:

richard@richard-desktop:~/projects/hello-python$ python main.py 
Traceback (most recent call last):
  File "main.py", line 5, in <module>
    x = Ffmpeg()
TypeError: 'module' object is not callable
richard@richard-desktop:~/projects/hello-python$ 
Run Code Online (Sandbox Code Playgroud)

我认为我有一些问题,sys.path所以我的模块无法正确导入,但我不知道如何解决它.

python

3
推荐指数
1
解决办法
182
查看次数

Python中方法链接的更好方式?

所以我有一个很长的方法链,类似于:

return self.append_command("fbghasjfa").append_command(input_file_part).append_command(output_video_codec_part).append_command(output_resolution_part).append_command(output_video_bitrate_part).append_command(strict_part).append_command(output_audio_codec_part).append_command(output_number_of_audio_channels_part).append_command(output_audio_bitrate_part).append_command(output_file_part).__finalized
Run Code Online (Sandbox Code Playgroud)

它看起来很难看.有没有办法将每个方法放在一个单独的行上?喜欢:

return self.append_command("ffasfgas")
.append_command("fvasgvsd")
.append_command("hsdhsdhsd")
#etc
Run Code Online (Sandbox Code Playgroud)

python

3
推荐指数
1
解决办法
114
查看次数

IE js 通过自定义函数对数组进行排序不起作用

我在js中有简单的自定义排序功能:

function compareDesc(a, b) {
    return a.value < b.value;
}
Run Code Online (Sandbox Code Playgroud)

然后我试图对一系列字典进行排序:

var test = [];
test.push({value: 0, foo: "bar"});
test.push({value: 250, foo: "bar"});
test.push({value: 3, foo: "bar"});
test.sort(compareDesc);
alert(test[0].value);
alert(test[1].value);
alert(test[2].value);
Run Code Online (Sandbox Code Playgroud)

它适用于 Chrome 和 Firefox,我得到:

250
3
0
Run Code Online (Sandbox Code Playgroud)

但在所有版本的 IE 中我得到:

0
250
3
Run Code Online (Sandbox Code Playgroud)

所以排序不起作用。任何想法为什么?

javascript internet-explorer

3
推荐指数
1
解决办法
708
查看次数

试图获取视频缩略图

我试图从保存在Documents /文件夹中的视频中获取视频缩略图,并将其显示在UITableViewCell内的UIImageView中.这是我获取缩略图的功能:

- (UIImage*) thumbnailImageForVideo:(NSURL *)sourceURL
{
    AVAsset *asset = [AVAsset assetWithURL:sourceURL];
    AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc]initWithAsset:asset];
    NSError *err = NULL;
    CMTime time = CMTimeMake(1, 1);
    CGImageRef imageRef = [imageGenerator copyCGImageAtTime:time actualTime:NULL error:&err];
    NSLog(@"err==%@, imageRef==%@", err, imageRef);
    UIImage *thumbnail = [[UIImage alloc] initWithCGImage:imageRef];
    CGImageRelease(imageRef); // CGImageRef won't be released by ARC
    return thumbnail;
}
Run Code Online (Sandbox Code Playgroud)

这是我使用它的地方:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    LibraryCell *libraryCell = [tableView dequeueReusableCellWithIdentifier:@"LibraryCell" forIndexPath:indexPath];

    NSString *videoPath = [NSString stringWithFormat:@"%@/%@", [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"], [libraryFiles objectAtIndex:indexPath.item]];
    libraryCell.itemImage.image = [self …
Run Code Online (Sandbox Code Playgroud)

objective-c ios

3
推荐指数
1
解决办法
1463
查看次数

试图在Mac上设置Selenium + Behat

所以我使用无头浏览器让Behat正常工作,但我想使用Selenium 2来测试一些JavaScript重页.

当我运行vendor/bin/behat时,我在标记为@javascript的第一个场景中出现此错误:

Curl error thrown for http POST to http://localhost:4444/wd/hub/session with params: {"desiredCapabilities":{"browserName":"firefox","version":"8","platform":"ANY","browserVersion":"8","browser":"firefox","name":"Behat test","deviceOrientation":"portrait","deviceType":"tablet","selenium-version":"2.31.0","max-duration":300},"requiredCapabilities":[]}

      couldn't connect to host
Run Code Online (Sandbox Code Playgroud)

当我在配置文件中定义443时,我不知道为什么它连接到错误的端口.为什么说设备类型是表?这是我的behat.yml:

default:
  paths:
    features: tests/functional/features
    bootstrap: tests/functional/features/bootstrap
  extensions:
    Behat\MinkExtension\Extension:
      base_url: http://myvirtualhost.com
      goutte: ~
      selenium2: ~
  context:
    parameters:
      wd_host: 127.0.0.1:4443/wd/hub
      wd_capabilities: { "browser": "firefox", "version": "21"}
Run Code Online (Sandbox Code Playgroud)

我让Selenium 2正常运行在127.0.0.1:4443/wd/hub.

我安装了Firefox 21版.

这是我的composer.json,我有Selenium 2驱动程序:

{
    "name": "my-website",
    "description": "My Website",
    "minimum-stability": "dev",
    "require": {
        "php": ">=5.3",
        "zendframework/zendframework": "2.1.5",
        "doctrine/common": "dev-master#d7987c96675e153638729383577090feed9854f1"
    },
    "require-dev": {
        "phpunit/phpunit": "3.7.x-dev#19f1d742e0c36150001062f592c93f80aef3a9fd",
        "behat/behat": "dev-develop#1f1bead31e96da5e30fd5d499d5cf66d29b68cf6",
        "behat/mink": "v1.4.3",
        "behat/mink-extension": "dev-master#ef2c8639ebc254f0ff6e555b7834700caf5db9c4",
        "behat/mink-goutte-driver": "dev-master#v1.0.8",
        "behat/mink-selenium2-driver": …
Run Code Online (Sandbox Code Playgroud)

php behat mink selenium-webdriver

3
推荐指数
1
解决办法
8088
查看次数

Backbone模型单身人士?

我不是JavaScript专家所以我可能在这里做错了.

我有一个简单的Foo Backbone模型,默认属性栏是一个空数组.我创建了两个模型实例.我将"a"和"b"添加到第一个模型,"c"和"d"添加到第二个模型.当我使用console.log()打印出条形内容时,两个实例看起来都是同一个对象.

JsFiddle:http://jsfiddle.net/P7qsz/

码:

var Foo = Backbone.Model.extend({
    defaults: {
        bars: []
    }
});

var foo = new Foo();
foo.get("bars").push("a");
foo.get("bars").push("b");
console.log(foo.get("bars"));

var foo2 = new Foo();
foo2.get("bars").push("c");
foo2.get("bars").push("d");
console.log(foo2.get("bars"));
Run Code Online (Sandbox Code Playgroud)

在控制台中我看到:

["a", "b", "c", "d"]
["a", "b", "c", "d"]
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

javascript backbone.js

3
推荐指数
1
解决办法
192
查看次数

如何将事件侦听器添加到 HTML5 视频海报图像加载事件

是否可以?

我想将一个事件侦听器附加到 HTML5 视频元素上的海报图像,以便在加载并显示海报图像后运行代码。

我正在尝试找出一种方法来做到这一点,但我需要帮助。

html javascript html5-video

3
推荐指数
1
解决办法
2563
查看次数