如何测试使用Junit激发异步进程的方法?
我不知道如何让我的测试等待进程结束(它不是一个单元测试,它更像是一个集成测试,因为它涉及几个类而不仅仅是一个)
AC程序将连续的双精度喷出到二进制文件中.我希望将它们读成Python.我试过用struct.unpack('d',f.read(8))
编辑:我在C中使用以下内容来编写随机双数
r = drand48();
fwrite((void*)&r, sizeof(double), 1, data);
Run Code Online (Sandbox Code Playgroud)
错误现在已修复,但我无法读取第一个值.对于所有0.000 ..数字,它将其读作3.90798504668055,但其余的都很好.
我在本地文件夹中有一个pageTest.html,这个页面调用了一个service.ashx?i = ...(返回值param通过递增+1),后面跟着Ajax代码:
.
.
getIncr: function(parameters, success){
$.ajax({
async: false,
type: methodType,
url: getTarget,
data: "n="+parameters,
dataType:"jsonp",
success: success
});
}
.
.
Run Code Online (Sandbox Code Playgroud)
html页面调用此函数m次(使用脚本..):
.
var start = function(){
.
.
var val = 0;
.
.
for(i=0; i<m; i++)
{
Foo.getIncr(val, function(returned_n){
val = returned_n;
});
}
};
Run Code Online (Sandbox Code Playgroud)
在页面加载期间,调用在"异步模式"下执行,但我在Ajax中设置" async:false ".我读到了这个问题,并找到了原因,即如果有不同的域,Ajax无法同步从page.html调用service.ashx.是否有一个解决方案在page.html中执行同步调用到该service.ashx(在不同的域中)?
所以我有一个基本上每个实体的存储库,但我的模型有一个关系部门,其中实体在模型中没有直接相关.所以我需要做的是查询该间接关系并返回一组实体.是否适合初始化和调用与您实际查询的存储库不同的存储库上的查询?如果没有,最好的解决方案是什么 - 助手类?
谢谢
根据这个站点,错误函数erf(x)来自math.h. 但实际上看看math.h,它不存在,而gcc无法编译以下测试程序,而g ++可以:
#include <math.h>
#include <stdio.h>
int main(int argc, char* argv[]) {
double x;
double erfX;
x = 1.0;
erfX = erf(x);
printf("erf(%f) = %f", x, erfX);
}
$ gcc mathHTest.c
/tmp/ccWfNox5.o: In function `main':
mathHTest.c:(.text+0x28): undefined reference to `erf'
collect2: ld returned 1 exit status
$ g++ mathHTest.c
Run Code Online (Sandbox Code Playgroud)
g ++没有g ++带来什么?查看/ usr/include,我能找到的唯一的地方erf(x)是在tgmath.h中,我没有包括.所以g ++必须抓住比gcc更多的标题,但是哪些?
编辑:我没有在libm与gcc链接,因此链接错误.但是,我仍然不明白为什么erf()不在math.h中.它来自哪里?
我有一个项目,我想更多地使用智能指针.总的来说,我在这个目标上取得了成功.但是,我遇到过一些我不确定"最佳实践"是什么的事情.
基本上我想从函数返回一个"指针",但要求用户将它保存在智能指针中.不仅如此,我不想强制使用特定的智能指针(共享与范围).
问题主要在于似乎没有适当的方法将a升级scoped_ptr为a shared_ptr(这是我认为的理想解决方案).我明白为什么他们不这样做,因为它会允许转让所有权,这可能导致一些像这样的问题std::auto_ptr.
但是,对于这种情况,转让所有权似乎是一个好主意.所以我的想法是这样的:
// contrived example of factory pattern
std::auto_ptr<A> func() { return std::auto_ptr<A>(new A); }
Run Code Online (Sandbox Code Playgroud)
因为两者都有"好",scoped_ptr并且shared_ptr拥有从a获得所有权的构造函数std::auto_ptr.
所以我的问题是,这是一个好习惯吗?有更好的解决方案吗?我能够想出的唯一真正的替代方法是使用模板模板作为返回值,如下所示:
// similar to above example
template <template <typename> class P>
P<A> func() { return P<A>(new A); }
Run Code Online (Sandbox Code Playgroud)
实际上可以很好地工作,除了我认为它需要一些工作来使它与它一起工作scoped_ptr.
思考?
在我们的构建过程中,对于每个项目,我们使用Post Build事件将可执行文件复制到单独的部署目录中.这只是很好用,但问题是我们在执行Clean Solution/Clean Project后遇到了陈旧文件的问题.我想设置一个删除复制文件的"清理"事件,Visual Studio 2008似乎没有在项目属性页面中提供选项.
它有:
Build Events:
Pre-Build Event
Pre-Link Event
Post-Build Event
Custom Build Step
General
Run Code Online (Sandbox Code Playgroud)
我想要找到的是在清理项目时执行任意命令行的一些方法.
我正在从多个部分构建一个字符串,并希望使用其中任何一个StringBuffer或StringBuilder这样做.从Java 5文档中,我发现StringBuilder在可能的情况下这是首选,但需要注意
StringBuilder多个线程使用的实例不安全.
从这个声明中,我理解我不应该有StringBuilder多个线程共享的单个实例.但是这个案子呢:
//Is this safe?
//foo() is called simultaneously by multiple threads
String foo(String a, String b) {
return new StringBuilder(a).append(b).toString();
}
Run Code Online (Sandbox Code Playgroud)
这里函数中可能同时存在多个线程,同时使用StringBuilder类(例如,静态变量的并发访问,如果有的话),但每个线程都有自己独立的实例StringBuilder.从文档中,我无法确定这是否算作多线程的使用.
我觉得我没有利用.NET 3.5及更高版本中可用的代理/事件的所有功能.并且或多或少仍然使用2.0中的代表功率.如果你告诉我现在应该如何使用代表/活动,技巧,捷径,我将不胜感激.
谢谢.
编辑
Jon建议他就此主题发表文章,我在这里发帖以便于浏览:
我的一些文章可能是相关的:
我的书,深度的C#,有一整章专门讨论代表(第5章).不幸的是,这不是免费的之一:(
PS.我找不到这个问题的副本,但确实在这个主题上看了很多.
c++ ×3
java ×2
.net ×1
ajax ×1
asynchronous ×1
boost ×1
c ×1
c# ×1
c#-3.0 ×1
callback ×1
double ×1
entities ×1
javascript ×1
jquery ×1
junit ×1
math.h ×1
python ×1
repository ×1
static ×1
synchronous ×1
tr1 ×1
unit-testing ×1
visual-c++ ×1