有没有人使用Hudson作为C++项目的Continuous-Integration服务器,使用UnitTest ++作为测试库?
你究竟是如何设置它的?
我知道之前有过几个关于持续集成的问题,但我希望这个问题的范围更窄.
编辑:我会澄清我正在寻找的东西.单元测试失败时,我已经将构建集设置为失败.我正在寻找像Hudson的JUnit支持.UnitTest ++可以创建XML报告(参见此处).那么,也许如果有人知道如何将这些报告翻译成JUnit兼容,那么Hudson会知道怎么吃掉它吗?
我意识到有类似的问题,但它们似乎是从Qt Creator仍然处于测试阶段时开始的,所以从那时起答案可能会发生变化:
我们将开始一个项目,其中包含少量需要在Windows,OS X和Linux上运行的GUI.所以选择Qt是一个明智的选择,尽管我们对Qt的经验很少.
什么是IDE目前最好的选择?
所有开发人员都将使用Windows机器,因此IDE不需要跨平台.
我们在大多数情况下都使用Visual Studio,但我们大多数人都对Eclipse很满意.
Qt Creator中的重构工具如何?我在使用Visual Studio for C++时喜欢Visual Assist X. 有没有人尝试过使用Qt项目?
我意识到这是很多不同的问题.即使你无法回答所有问题,也请回答.
编辑:
我可能会补充一点,我们已经拥有Visual Studio和Visual Assist许可证,因此这些成本不是问题.
当我23使用MD5加密加密时,我得到37693cfc748049e45d87b8c7d8b9aacd这个32个字符长的字符串,它总是23个为静态字符串.
我想要相同类型的机制,但应该生成18个或更少(如:)122ff1e4883358b6字符长字符串而不是32.
我怎样才能在C#中做到这一点,c#中是否有更短版本的MD5?
我有一个C#/ .NET程序,可以作为控制台应用程序和服务运行.目前我给它一个命令行选项来启动作为控制台应用程序,但我想避免这种情况.
是否有可能以编程方式检测我的程序是否作为服务启动?
如果它是纯Win32,我可以尝试使用StartServiceCtrlDispatcher作为服务启动并返回到控制台,如果它返回ERROR_FAILED_SERVICE_CONTROLLER_CONNECT,但System.ServiceProcess.ServiceBase.Run()弹出一个errordialog如果它失败然后只返回没有发出错误信号到该计划.
有任何想法吗?
您是否保留了在版本控制下构建项目所需的工具?
如果您这样做,您有哪些工具可以包含哪些指南?我想没有人会把Visual Studio放在版本控制中,但是你的单元测试运行器呢?Nant/Ant/Maven可执行文件?
外部依赖怎么样?你有版本控制Boost吗?JDK?NUnit的/ JUnit的?你在哪里画限制?
(另见这个问题).
编辑: 我想我的问题并不完全清楚:我不想知道你是将它们保留在版本控制还是某些共享驱动器中.我真的想知道你是否检查了将项目与项目一起构建到版本控制所需的工具,这样当你检查项目时,你会自动获得工具.
作为回答否的人的一般跟进:您跟踪这些工具的过程是什么?你的脚本下载它们吗?
我想从非托管C++调用我的.NET代码.我的进程入口点是基于.NET的,所以我不必担心托管CLR.我知道可以使用.NET包装器来完成.NET对象,但是我想访问托管类的各个静态方法,因此COM不是我最短/最简单的路径.
谢谢!
我们有一个需要以完全信任的方式运行的Java applet.
在开发期间和预发布测试期间,我们使用自签名证书对其进行签名(生产版本使用真实的代码签名证书进行签名).
但是,当我们尝试在OS X 10.8的早期阶段启动自签名applet时,我们再也不能选择允许它运行了.简单地禁用"允许"按钮:

如果我按"显示详细信息...",我可以选择"始终信任"证书,但这没有区别:

它与OS X Lion 10.7上的相同版本的Java JRE一起使用,因此我怀疑它是操作系统的问题,而不是JRE.
有没有解决方法?
我不希望使用真正的代码签名证书进行测试:使用真实的代码签名证书进行签名意味着我的公司声称applet是安全的并且应该是可信的.在我们测试它之前,我们很难断言.
如果我在秋季结束时点亮时间(2014-10-26 02:00:00 CET in Denmark)并减去一小时(所以我希望回到02:00 CEST)然后将分钟设置为零,我得到一些奇怪的结果:
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("CET"));
cal.set(Calendar.YEAR, 2014);
cal.set(Calendar.MONTH, Calendar.OCTOBER);
cal.set(Calendar.DAY_OF_MONTH, 26);
cal.set(Calendar.HOUR_OF_DAY, 2);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
System.out.println(cal.getTimeInMillis()); // 1414285200000 : 01:00:00 UTC
cal.add(Calendar.HOUR_OF_DAY, -1);
System.out.println(cal.getTimeInMillis()); // 1414281600000 : 00:00:00 UTC (as expected)
cal.set(Calendar.MINUTE, 0);
// or: cal.set(Calendar.MINUTE, cal.get(Calendar.MINUTE));
// both should be NOPs.
System.out.println(cal.getTimeInMillis()); // 1414285200000 : 01:00:00 UTC (Why?!)
Run Code Online (Sandbox Code Playgroud)
这是一个错误吗?我知道Java Calendar有一些奇怪的约定,但我看不出这是如何正确的.
使用Calendar类减去一小时并将分钟设置为0的正确方法是什么?
我在一段生产代码中使用以下方法:
private void DownloadData(Uri uri)
{
WebClient webClient = new WebClient();
DownloadDataCompletedEventHandler eh = null;
eh = delegate(object sender, DownloadDataCompletedEventArgs e)
{
webClient.DownloadDataCompleted -= eh;
((IDisposable) webClient).Dispose();
OnDataDownloaded();
};
webClient.DownloadDataCompleted += eh;
webClient.DownloadDataAsync(uri);
}
Run Code Online (Sandbox Code Playgroud)
我现在担心WebClient在DownloadDataCompleted调用事件之前实例被垃圾收集可能导致难以重现的错误:退出我的DownloadData()方法后,没有明显的WebClient对象引用,因此可能会发生这种情况.
所以我的问题是:这真的可以实现吗?我无法重现该问题,因此可能会发生一些内部事情阻止WebClient对象被垃圾收集(例如,对象可能在等待响应时在某处注册自己的全局对象).
代码在.NET 2.0上运行,如果这有任何区别.
我正在寻找一个用于.NET的轻量级嵌入式Web服务器.
我需要它来伪造SOAP Web服务以进行自动化测试,因此如果它支持ASP.NET Web服务或另一种创建SOAP Web服务的简单方法,那么它是一个很大的优势.快速启动和关闭以及不同端口上的多个同时实例的额外奖励积分.
谷歌搜索出现了aspnetserve,www-Sharp.Runtime和Neokernel Web Server.有没有人有这些或其他解决方案的经验?