从历史上看,我总是写这样的单元测试:
public void WidgetTest {
@Test
public void test_whatever() {
// Given...
// When...
// Then...
}
}
Run Code Online (Sandbox Code Playgroud)
这允许我在Eclipse中右键单击我的测试文件Run As >> JUnit
,并直接从Eclipse内部测试该特定测试.然后,在进行本地(基于Ant)构建时,我将<junit>
Ant任务配置src/test/java
为一次运行所有测试.
我现在正在寻找一种中间解决方案.也就是说,只需单击一个按钮,就可以同时从Eclipse内部运行所有测试类.一位同事建议Junit有一个"测试套件"的概念,我可以附加我的所有测试类,但看起来这个测试套件是某种我不希望包含在内的JAR /工具我的项目.
所以我问:如何定义这样一个"测试套件",包括我所有的测试类,并从Eclipse内部一次性运行所有这些测试套件?提前致谢.
在CAP定理中,"P"(分区)组件基本上表明尽管有物理网络分区,系统仍能正常工作.
我认为"C"(一致性)和"A"(可用性)在DDBMS环境中对我来说非常有意义:一致性,所有客户端必须具有一致的数据视图,而不管它们所服务的数据库节点如何.并且在可用性的情况下,所有客户端必须能够从某个 DB节点获取读/写的响应(即,所有节点永远不会同时关闭).
但由于某种原因,我对CAP的分区问题感到窒息,其重要性在于它,特别是对于DDBMS.
对于分布式数据库,根据定义,您可以拥有多个(群集)节点.根据网络和系统架构,物理设备等,无论如何,在节点之间复制或通信(半连接等)时,您将遇到性能问题.CAP中的"P"只是加速DDBMS性能的一种方式; 没有P保证会否则会受到阻碍的表现?
另外,"P"如何与单个节点(非群集)DB相关?在这种情况下,我觉得这完全无关紧要.提前致谢!
给出以下字符串:
字符串文字="树林是\nlovely,\ t\t\t深刻而深刻.";
我希望将所有空格视为单个字符.所以例如,\n
1个字符.该\t\t
也应该是1个字符.有了这个逻辑,我算了36个字符和7个字.但是当我通过以下代码运行时:
String text = "The woods are\nlovely,\t\tdark and deep.";
int numNewCharacters = 0;
for(int i=0; i < text.length(); i++)
if(!Character.isWhitespace(text.charAt(i)))
numNewCharacters++;
int numNewWords = text.split("\\s").length;
// Prints "30"
System.out.println("Chars:" + numNewCharacters);
// Prints "8"
System.out.println("Words:" + numNewWords);
Run Code Online (Sandbox Code Playgroud)
它告诉我有30个字符和8个单词.任何想法为什么?提前致谢.
我有以下Java代码:
String data = "MaxL-450";
if(!data.matches("MaxL\\-*"))
throw new IllegalArgumentException("Did not match.");
Run Code Online (Sandbox Code Playgroud)
当我执行它时,抛出异常,因为显然正则表达式与我的data
字符串不匹配.我的正则表达式有问题还是其他事情发生在这里?提前致谢.
我正在阅读GitHub项目(JClouds-Chef)的源代码,偶然发现了最奇特的Java:
Iterable<Module> modules =
ImmutableSet.<Module> of(new SshjSshClientModule(), new SLF4JLoggingModule(),
new EnterpriseConfigurationModule());
Run Code Online (Sandbox Code Playgroud)
什么是of
?这个有效的Java怎么样?是of
方法吗?如果是这样,它在哪里定义?它是一些奇怪的,模糊的Java运算符,几乎没有使用过吗?这是一个像lambda一样古怪的东西吗?我正在撕扯我的头发试图找出它的位置,它做了什么,以及它的定义在哪里!
更新:我应该立即提到这一点:我首先考虑了Java/JSON映射框架,但我的经理不希望我向项目添加任何更多依赖项,因此这是一个选项.该JSON-Java的罐子已经在我们的类路径,这样我就可以使用,但仍然没有看到过的树木如何可以使用森林.
我的Java程序正在传递以下形式的JSON(虽然值会一直改变):
{"order":{"booze":"1","handled":"0","credits":"0.6",
"execute":0,"available":["299258"],"approved":[],
"blizzard":"143030","reviewable":["930932","283982","782821"],
"units":"6","pending":["298233","329449"],"hobbit":"blasphemy"}}
Run Code Online (Sandbox Code Playgroud)
我正在寻找从这个JSON字符串中挑选特定值的最简单,最有效,最可靠的方法,并将它们聚合成一个List<Long>
.
具体来说,我正在寻找,提取和聚集所有"的IDS ",即,所有你看到的数字值available
,approved
,reviewable
和pending
领域.这些字段中的每一个都是0+"id"的数组.因此,在上面的示例中,我们看到了以下的ID细分:
available
:有1个id(299258)approved
:有0个IDreviewable
:有3个ID(930932,283982,782821)pending
:有2个ID(298233,329449)我需要一些Java代码来运行并生成一个List<Long>
包含所有这6个提取的ID,没有特定的顺序.ID只需要将其列入列表即可.
这感觉就像一个非常复杂,复杂的正则表达式,我甚至不确定从哪里开始.任何帮助都非常感谢.提前致谢.
java ×5
regex ×3
cap ×1
database ×1
eclipse ×1
json ×1
junit ×1
string ×1
syntax ×1
test-suite ×1
text ×1
unit-testing ×1
word-count ×1