有没有办法在Visual Studio中应用"贪婪"行为和键?"贪婪"是指当光标位置和下一个单词绑定之间的所有空格都可以使用一次击键删除时的这种行为.
有没有人找到一种方法来运行Selenium RC/Selenium Grid测试,用C#并行编写?
我目前使用Selenium RC的C#驱动程序编写了一个相当大的测试套件.运行整个测试套件需要一个多小时才能完成.我通常不需要运行整个套件,因此到目前为止它还没有引起关注,但我希望能够更频繁地进行操作(例如,作为自动构建的一部分)
我最近花了一些时间来讨论Selenium Grid项目,其目的主要是允许这些测试并行运行.不幸的是,似乎我正在使用的TestDriven.net插件连续运行测试(即,一个接一个).我假设NUnit会以类似的方式执行测试,虽然我实际上没有测试过.
我注意到NUnit 2.5测试版开始讨论与pNUnit并行运行测试,但我还没有真正熟悉这个项目,以确定这是否可行.
我正在考虑的另一个选择是将我的测试套件分成不同的库,这样我就可以同时从每个库中运行测试,但是我想尽可能避免这种情况,因为我不相信这是分裂的正当理由.测试套件.
Javascript代码很难维护.
我正在寻找能够帮助我确保合理质量水平的工具.
到目前为止,我已经找到了JsUNit,一个非常好的javascript单元测试框架.可以在任何可用的浏览器上从ant自动运行测试.
我还没有找到一些相当于PMD,checkstyle,Findbug的javascript ...
你知道javascript的静态代码分析工具吗?
我一直想知道这一点 - 为什么你不能在switch语句中的case标签之后声明变量?在C++中,您可以在任何地方声明变量(并且声明它们接近第一次使用显然是一件好事)但是以下仍然不起作用:
switch (val)
{
case VAL:
// This won't work
int newVal = 42;
break;
case ANOTHER_VAL:
...
break;
}
Run Code Online (Sandbox Code Playgroud)
以上给出了以下错误(MSC):
'case'标签跳过'newVal'的初始化
这似乎也是其他语言的限制.为什么会出现这样的问题?
似乎没有任何Perl库可以打开,操作和重新保存使用交叉引用流而不是表格的较新PDF版本(我相信1.5及以上)的PDF文档.有没有人知道任何基于unix/linux的实用程序将PDF转换为旧版本?或者也许在CPAN中有一个Perl模块我错过了可以处理这个问题?
基于我运行的简单测试,我认为不可能将内联<style>标记放入ASP.NET服务器控件中.该样式最终没有呈现给输出HTML.即使有可能,我也相信这样做是不好的做法.
是否有可能做到这一点?我可以看到它对于只有1或2个CSS类应用的快速原型很有用.
更新:
按照Jonathan的要求,我打算发布代码.但是,当我打开我的项目并再次加载页面时(只是为了踢)它正确运行.我的猜测是,它与重启Visual Studio在运行页面时启动的ASP.NET开发服务器有关.
无论如何,当我在页面上包含相同的多个控件时,我也得到了多个相同的样式.这可能是解释为什么这样做是件坏事.无论如何,了解完成任务的最佳实践和替代方法总是好的,所以我非常感谢大家的答案.
我遇到了应用程序挂起的问题,并给了我默认的“请告诉 Microsoft 有关此问题”的弹出窗口,而不是应用程序中的“未处理的异常”对话框。
在应用程序代码中,Application.ThreadException 和 AppDomain.CurrentDomain.UnhandledException 都被重定向到一个方法,该方法将错误日志写入磁盘、将屏幕截图保存到磁盘并显示友好的对话框。
但是当这个错误发生时,这三件事都不会发生。我在事件查看器中得到的只是:
事件类型 clr20e3、P1 myapp.exe、P2 4.0.0.0、P3 47d794d4、P4 mscorlib、P5 2.0.0.0、P6 471ebc5b、P7 15e5、P8 27、P9 system.argumentoutofrange、P10 NIL
鉴于该错误似乎只在应用程序运行几个小时后才会发生,我想知道这是否可能是内存泄漏问题。我搜索了一些“clr20e3”,但只找到了 ASP.Net 的东西。我的应用程序是 Windows Forms (.Net 2.0) exe,使用了相当多的程序集 - 使用 C# 和一些非托管 C++。
我想这也可能是错误处理方法中的错误 - 正如一些答案所建议的那样,我可能会尝试在错误处理程序的开头进行日志记录(但考虑到这几乎就是我所做的......)。
任何解决此问题的帮助都将不胜感激 - 无论是解决方案还是如何找出问题根本原因的建议。
更新:原始错误的根本原因是访问具有负索引的数组(即 system.argumentoutofrange)。为什么这没有被捕获对我来说有点神秘,但考虑到两个异常都被发送到相同的处理代码,我想知道是否可能不存在(例如)两者都被调用并争夺资源的情况(例如日志文件)?
我通过在错误处理代码中执行任何其他操作之前执行 EventLog.WriteEntry 来证明这一点。现在添加了一个标志以防止在错误处理中重新进入,我似乎不再有问题......
我用来跑
$s =~ s/[^[:print:]]//g;
Run Code Online (Sandbox Code Playgroud)
在Perl上摆脱不可打印的字符.
在Python中没有POSIX正则表达式类,我不能写[:print:]让它意味着我想要的东西.我知道在Python中无法检测字符是否可打印.
你会怎么做?
编辑:它也必须支持Unicode字符.string.printable方式很乐意将它们从输出中剥离出来.对于任何unicode字符,curses.ascii.isprint都将返回false.
我已经在这方面工作了几天,我找到了几个解决方案,但没有一个简单或轻巧.问题基本上是这样的:我们有一个由10台机器组成的集群,每台机器在多线程ESB平台上运行相同的软件.我可以很容易地处理同一台机器上的线程之间的并发问题,但是对于不同机器上的相同数据的并发性呢?
本质上,软件接收通过Web服务将客户数据从一个企业提供给另一个企业的请求.但是,客户可能存在或可能不存在于另一个系统上.如果没有,我们通过Web服务方法创建它.所以它需要一种测试和设置,但我需要某种形式的信号量来锁定其他机器导致竞争条件.我曾经遇到过为一个本地客户创建两次远程客户的情况,这是不太理想的.
我从概念上玩弄的解决方案是:
使用我们的容错共享文件系统创建"锁定"文件,每个机器将根据客户检查这些文件
在我们的数据库中使用一个特殊的表,并锁定整个表,以便为锁记录进行"测试和设置".
使用Terracotta,一种开源服务器软件,有助于扩展,但使用中心辐射模型.
使用EHCache同步复制我的内存"锁".
我无法想象我是唯一一个遇到过这种问题的人.你是怎么解决的?你在内部做饭还是有最喜欢的第三方产品?