小编Mik*_*raf的帖子

PHPUnit严格模式有什么作用?

我想知道什么是"PHPUnit中的严格模式"?

例如:

phpunit --strict
Run Code Online (Sandbox Code Playgroud)

或者在phpunit.xml中

<phpunit strict="true"/>
Run Code Online (Sandbox Code Playgroud)

我打开它只是为了尝试它,我的测试开始失败了

PHP_Invoker_TimeoutException: Execution aborted after 1 second
Run Code Online (Sandbox Code Playgroud)

php phpunit unit-testing

36
推荐指数
2
解决办法
7554
查看次数

如何将npm配置保存到项目.npmrc文件中?

我希望运行npm config在项目的.npmrc文件中设置值. Docs似乎没有说明如何指定一个文件来保存值.

寻找类似的东西 npm config --file /path/to/repo/.npmrc set key value

试图将它用于需要从env vars构建.npmrc文件的构建脚本.

npm

11
推荐指数
1
解决办法
2937
查看次数

如何使用composer安装git存储库的一部分?

我想只需要一个git存储库的子部分(而不是完整的东西).我想这样做的原因是因为存储库很大.

在我的情况下,存储库是:https://github.com/pubnub/pubnub-api.git,我只想要/ php目录.

我在composer中定义了以下包:

   {
            "type": "package",
            "package": {
                "name": "pubnub",
                "version": "dev-master",
                "source" : {
                    "url": "https://github.com/pubnub/pubnub-api.git",
                    "type": "git",
                    "reference":"master"
                }
            }
    },
Run Code Online (Sandbox Code Playgroud)

有小费吗?

php git github composer-php

10
推荐指数
1
解决办法
3000
查看次数

如何在Meteor中停止并重新启动收集观察者?

我希望能够停止并重新启动Meteor中我的集合上的观察者.

想象一下,我有以下观察者:

 // Imagine some collection of Blog posts "Posts"
  Posts.find().observe({
    changed: notifySubscribedUsers
  });

 // function notifySubscribedUsers() { ... }  
 //    is some function that will email everyone saying some post was updated
Run Code Online (Sandbox Code Playgroud)

现在想象一下我想要更新很多帖子,但我不希望调用观察者.如何访问观察者,停止/暂停它们,然后重新启动它们(在db作业完成后)?

TIA

javascript meteor

8
推荐指数
1
解决办法
1920
查看次数

Vim:如何保存折叠?

在我目前的vim设置中set foldmethod=syntax,无论何时保存文件,它都会重新打开我打开的任何内容.有任何想法吗?

FWIW这是我目前的vimrc:https: //github.com/MaerF0x0/VimSetup/blob/2c63af1c4c7aad22c0ecac5e653c474a1fb81d36/vimrc

vim

7
推荐指数
4
解决办法
4276
查看次数

如何在 PHPUnit 中覆盖异常类

我的目标是实现非常高的代码覆盖率,并希望覆盖异常类或将它们从代码覆盖率报告中排除。

示例代码

class My_DataException extends Exception
{}

class Foo
{
   function __construct() { throw new My_DataException('see?'); }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得 My_DataException 的代码覆盖率(在 library/My/DataException.php 中)或从代码覆盖率报告中排除该文件?我不想使用注释方法(@codeCoverageIgnore 或类似的方法)。

我的 phpunit.xml 定义了黑名单,没有白名单

<filter>
    <blacklist>
        <directory suffix="Exception.php">../library/</directory>
    </blacklist>
</filter>
Run Code Online (Sandbox Code Playgroud)

每个异常文件都将以“Exception.php”结尾,所以我不确定为什么后缀部分不起作用。

额外细节:

  • 这不是关于正确覆盖范围的问题
  • 我宁愿不在每个异常文件中使用注释方法
  • 每个异常文件都将以“Exception.php”结尾,例如。My/Exception.php 或 My/DataException.php

php phpunit code-coverage

5
推荐指数
1
解决办法
859
查看次数

是在编译时还是在运行时评估__file和__dirname?

在node.js中有全局变量__filename__dirname-它们在加载时扩大由compliler,类似于它是如何在C++进行预处理替代__FILE__(和其他神奇的常数),或者是这些在运行时进行评估?

我无法在任何地方找到这些信息.

node.js

4
推荐指数
1
解决办法
311
查看次数

如何正确自动加载Doctrine ODM注释?

试图运行命令行工具w/odm:schema:create我收到的错误如下:

"[Semantical Error] The annotation "@Document" in class Company_Model_Auth was never imported. Did you maybe forget to add a "use" statement for this annotation?" and
"[Semantical Error] The annotation "@EmbeddedDocument" in class Company_Model_Auth was never imported. Did you maybe forget to add a "use" statement for this annotation?"
Run Code Online (Sandbox Code Playgroud)

以及其他,基本上每个注释.

当我添加"use\Doctrine\ODM\MongoDB\Mapping\Annotations\EmbeddedDocument;"时 (或\ Document)到它工作的文件并前进到下一个Model.然后它将在下一个文件中抱怨缺少相同的类(Document/EmbeddedDocument和任何其他注释).我是否需要将use语句添加到每个文件中?

这是我如何构建我的DocumentManager ::

public function _initDm() 
{
        AnnotationDriver::registerAnnotationClasses();
        $config = new Configuration();
        $config->setProxyDir(APPLICATION_PATH . '/../data/Proxies');
        $config->setProxyNamespace('Proxies');
        $config->setHydratorDir(APPLICATION_PATH . '/../data/Hydrators');
        $config->setHydratorNamespace('Hydrators');
        $config->setMetadataDriverImpl(AnnotationDriver::create(APPLICATION_PATH . '/models'));     

        // Pull in mongo db connection …
Run Code Online (Sandbox Code Playgroud)

php zend-framework mongodb doctrine-odm

2
推荐指数
1
解决办法
2405
查看次数

如何在for循环中组合多个赋值和Range

我试图找出如何(或者如果可能)在Golang中组合多个赋值和范围

我想做什么的伪代码

files := [2]*os.File{}

for i, _, fileName := 0, range os.Args[1:3] {
  files[i], _ = os.Open(fileName)
}
Run Code Online (Sandbox Code Playgroud)

想法是我想要迭代计数器(i)和文件名(fileName).我知道这可以通过使用范围和一些math(key -1)中的键来实现,这不是示例的要点.

编辑:

在调试上面的例子后,我了解到i在那个例子中它的范围是0-1; 因为os.Args [1:2]是一个切片,并且该切片的索引为0-1.因此,我不需要"一些数学"来正确索引键.

**编辑2:** 这篇文章也是必读的,为什么以上[2]*os.File{}不是惯用的去,而是它不应该有一个指定的大小(files := []*os.File{}),所以它files是*os.File类型的切片

go

-2
推荐指数
1
解决办法
168
查看次数