小编Ang*_*las的帖子

Hamcrest泛型地狱#2:iterableWithSize给出errror"不适用于参数"

在hamcrest(1.3.RC2,没有JUnit依赖)我没能使用 iterableWithSize().

我有一个(扩展)Iterator参数化Content像这样 EndResult<Content> contents = contentRepository.findAllByPropertyValue("title", "*content*");

这里EndResultpackage org.springframework.data.neo4j.conversion; public interface EndResult<R> extends Iterable<R> {...}Content是我的POJO.

现在,我认为这会奏效 assertThat(contents, iterableWithSize(1));

但它给了我错误: 方法断言Assert类型中的(T,Matcher)不适用于参数(EndResult <Content>,Matcher <Iterable <Object >>)

我也试过这些失败:

assertThat(contents, iterableWithSize(equalTo(1));

assertThat(contents, IsIterableWithSize.<EndResult<Content>>.iterableWithSize(1));

这些是我的进口:


    import static org.hamcrest.CoreMatchers.equalTo;
    import static org.hamcrest.collection.IsCollectionWithSize.hasSize;
    import static org.hamcrest.collection.IsIterableWithSize.iterableWithSize;
    import static org.junit.Assert.assertEquals;
    import static org.junit.Assert.assertThat;
    import org.hamcrest.collection.IsIterableWithSize;

集合的hasSize按预期工作,但对于迭代器我甚至找不到一个有效的例子......

java generics testing junit hamcrest

6
推荐指数
1
解决办法
1975
查看次数

如何从IntelliJ/WebStorm/PhpStorm中的"外部工具"运行sudo脚本?

我想从IntelliJ/WebStorm运行我的root需要的 bash脚本,在运行它时询问我输入root密码.在脚本中硬编码我的root密码当然是个坏主意.

IntelliJ/WebStorm实际上有一个$ Prompt $宏,出于这样的原因,它会提示您并将您的输入用作值.

所以我尝试使用$ Prompt $,echo YOURPASSWORD | sudo -S yourcommanduse-sudo-with-password-as-parameter中所述.

然后我传递passwd和脚本来运行一个sudorun.sh脚本echo -e $1 | sudo -S $2 $3 $4(因为echo不能是'program'行),虽然它在CLI上运行,但它无法在IntelliJ控制台上读取echo-stdin.

理想情况下,我希望解决方案仅在IntelliJ中配置,并且不需要在IntelliJ之外进行特定的OS配置更改.

也许有其他方法可以解决这个问题,所以让我们即兴发挥!

linux sudo intellij-idea phpstorm webstorm

5
推荐指数
2
解决办法
6603
查看次数

以编程方式将 TypeScript 字符串编译为 Javascript 字符串

有没有办法将包含 TypeScript的字符串编译为其等效的JavaScript字符串

例如,在 Coffeescript(和 LiveScript、coco 等)中,它是一个(简化的)单行:

jsCompiledCode = require('coffee-script').compile('do -> console.log "Hello world"', {bare:true});

是否可以为 TypeScript 实现类似的东西,最好不涉及文件系统?引用其他必须在编译时解决的模块是否有任何影响?

javascript compilation typescript

5
推荐指数
2
解决办法
2380
查看次数

是否可以使用git-flow(或vanilla git),在master和develop分支上拥有不同的(build)文件集?

有可能使用git-flow(或命令的vanilla git链或其他gitXXX糖果)在master(即发布)和开发分支上拥有一组不同的文件吗?

由于git repos用于部署(见下文),我希望我的开发分支包含严格的源文件,但是当我将它合并到master时,我希望master(release)分支还包含发布/编译输出,zip文件,优化资源等

注意:该问题寻求:

  • 一个示例场景git/git-flow命令可以保持develop和其他分支清理编译/构建的东西,而只有master它们在一个额外的./build目录中.

  • 两个分支仍应保持良好同步,整个分支/合并过程应自动,无痛且安全.也许有一天它会成为标准的git-flow功能和实践.

  • 我知道这不推荐,繁琐,非最佳等,但请记住:

    • git repos越来越多地用于部署 - 例如,请参阅http://bower.io,它使用严格的git repossemver标签来部署编译的东西.

    • 这个问题是否可能,不论是否是可取的良好的做法.如果不可能,则需要一个好的解释.

git git-flow git-branch bower

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