问题列表 - 第26167页

JUnit最佳实践:每个@Test的不同灯具

我知道有@Before@BeforeClass,用于定义固定装置@Test.但是,如果我需要不同的灯具,我应该怎么用@Test

  • 我应该定义夹具 @Test吗?
  • 我应该为每个人创建一个测试类@Test吗?

我在这里要求最好的做法,因为我认为这两种解决方案都不干净.使用第一个解决方案,我将测试初始化​​代码.在第二个解决方案中,我将打破"每个类的一个测试类"模式.

junit fixtures

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

如何将DispatcherObject(BitmapSource)复制到不同的线程?

我试图弄清楚如何将DispatcherObject(在我的案例中为BitmapSource)复制到另一个线程中.

使用案例:
我有一个需要在新线程中显示窗口的WPF应用程序(该应用程序实际上是Outlook插件,我们需要这样做,因为Outlook在主UI线程中有一些钩子并且正在窃取我们需要使用的某些热键 - 在Outlook,WPF(我们用于UI)和Winforms(我们需要使用某些微软提供的winforms控件)的互操作中"丢失翻译").

有了这个,我有WPFMessageBox的实现,通过设置一些静态属性来配置 - 其中一个是图标的BitmapSource.这样使用,以便在启动时我可以设置一次WPFMessageBox.Icon,从那时起,每个WPFMessageBox将具有相同的图标.

问题是分配给图标的BitmapSource是DispatcherObject,当读取时,它将抛出InvalidOperationException:"调用线程无法访问此对象,因为不同的线程拥有它.".

如何将BitmapSource克隆到实际线程中?它有Clone()和CloneCurrentValue()方法,它们不起作用(它们也抛出相同的异常).我也发现使用originalIcon.Dispatcher.Invoke(在这里进行克隆) - 但BitmapSource的Dispatcher为null,仍然 - 我在错误的线程上创建了一个副本,但仍然无法在我的上使用它.BitmapSource.IsFrozen == true.

关于如何将BitmapSource复制到不同的线程(没有从新线程中的图像文件完全重构)的任何想法?

编辑: 所以,冻结没有帮助:最后我有一个BitmapFrame(Window.Icon无论如何也不会采用任何其他类型的ImageSource),当我在另一个线程上将其指定为Window.Icon时,即使冻结,我得到InvalidOperationException:"调用线程无法访问此对象,因为另一个线程拥有它." 具有以下堆栈跟踪:

    WindowsBase.dll!System.Windows.Threading.Dispatcher.VerifyAccess() + 0x4a bytes 
    WindowsBase.dll!System.Windows.Threading.DispatcherObject.VerifyAccess() + 0xc bytes    
    PresentationCore.dll!System.Windows.Media.Imaging.BitmapDecoder.Frames.get() + 0xe bytes    
    PresentationFramework.dll!MS.Internal.AppModel.IconHelper.GetIconHandlesFromBitmapFrame(object callingObj = {WPFControls.WPFMBox.WpfMessageBoxWindow: header}, System.Windows.Media.Imaging.BitmapFrame bf = {System.Windows.Media.Imaging.BitmapFrameDecode}, ref MS.Win32.NativeMethods.IconHandle largeIconHandle = {MS.Win32.NativeMethods.IconHandle}, ref MS.Win32.NativeMethods.IconHandle smallIconHandle = {MS.Win32.NativeMethods.IconHandle}) + 0x3b bytes   
>   PresentationFramework.dll!System.Windows.Window.UpdateIcon() + 0x118 bytes  
    PresentationFramework.dll!System.Windows.Window.SetupInitialState(double requestedTop = NaN, double requestedLeft = NaN, double requestedWidth = 560.0, double requestedHeight = NaN) + 0x8a bytes  
    PresentationFramework.dll!System.Windows.Window.CreateSourceWindowImpl() + …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf exception-handling bitmapsource

5
推荐指数
3
解决办法
4262
查看次数

使用OpenUri,我如何获取重定向页面的内容?

我想从这个页面获取数据:

http://www.canadapost.ca/cpotools/apps/track/personal/findByTrackNumber?trackingNumber=0656887000494793
Run Code Online (Sandbox Code Playgroud)

但该页面转发到:

http://www.canadapost.ca/cpotools/apps/track/personal/findByTrackNumber?execution=eXs1
Run Code Online (Sandbox Code Playgroud)

因此,当我open从OpenUri 使用来尝试获取数据时,它会抛出一个RuntimeError错误说HTTP redirection loop:

我不确定如何在重定向并抛出该错误后获取该数据.

redirect open-uri ruby-on-rails

7
推荐指数
1
解决办法
5651
查看次数

如何在类中调用方法

我如何setStatus从内部打电话awakeFromNib

-(void)awakeFromNib {
    setStatus; // how?
}

/* Function for setting window status */
- (void)setStatus {
    [statusField setStringValue:@"Idle"];
}
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c

0
推荐指数
1
解决办法
290
查看次数

Windows上的系统调用

我只是想问一下,我知道Linux中的标准系统调用是通过指向中断向量表的int指令完成的.我认为这在Windows上类似.但是,您如何调用某些更高级别的特定系统例程?比如你怎么告诉Windows创建一个窗口?我知道这是由dll中的代码处理的,但在汇编程序指令级别实际发生了什么?dll中的例程是通过int指令调用软件中断,还是有任何不同的方法来处理它?谢谢.

windows system-calls

13
推荐指数
2
解决办法
2万
查看次数

如何仅为文本框应用css,但不为所有<input>类型(如CheckBoxes等)应用css?

如果所有浏览器都支持属性选择器,我们可以轻松执行以下操作:

input[type='text'] { font:bold 0.8em 'courier new',courier,monospace; } 
input[type='radio'] { margin:0 20px; } 
input[type='checkbox'] { border:2px solid red;
Run Code Online (Sandbox Code Playgroud)

但我不认为6和更高版本的所有IE版本都支持这一点.

我想我想避免皮肤.不知道为什么,除了我尝试过它们之外我还记得有过负面的体验.可能是我缺乏知识.使用和CSS,外部或其他方面是否有任何问题?

处理这个问题的最佳方法是什么?目前我正在为每种控件类型分配单独的类.

css asp.net

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

具有前缀的控件的Asp.Net MVC2 Clientside验证问题

问题是:当我在页面上放置2个相同类型的控件时,我需要为绑定指定不同的前缀.在这种情况下,在表单不正确之后生成的验证规则.那么如何让客户端验证工作呢?

该页面包含:

<%
    Html.RenderPartial(ViewLocations.Shared.PhoneEditPartial, new PhoneViewModel { Phone = person.PhonePhone, Prefix = "PhonePhone" });
    Html.RenderPartial(ViewLocations.Shared.PhoneEditPartial, new PhoneViewModel { Phone = person.FaxPhone, Prefix = "FaxPhone" });
%>
Run Code Online (Sandbox Code Playgroud)

控件ViewUserControl <PhoneViewModel>:

<%= Html.TextBox(Model.GetPrefixed("CountryCode"), Model.Phone.CountryCode) %>
<%= Html.ValidationMessage("Phone.CountryCode", new { id = Model.GetPrefixed("CountryCode"), name = Model.GetPrefixed("CountryCode") })%>
Run Code Online (Sandbox Code Playgroud)

其中Model.GetPrefixed("CountryCode")只返回"FaxPhone.CountryCode"或"PhonePhone.CountryCode"取决于前缀


这是表单后生成的验证规则.它们被复制为字段名"Phone.CountryCode".虽然期望的结果是每个FieldNames"FaxPhone.CountryCode","PhonePhone.CountryCode" alt文本的 2个规则(必需,数量),但是 http://www.freeimagehosting.net/uploads/37fbe720bf.png

这个问题与Asp.Net MVC2客户端验证和重复ID的问题有些重复, 但建议手动生成ID并没有帮助.

validation client viewusercontrol prefixes asp.net-mvc-2

5
推荐指数
1
解决办法
1818
查看次数

如何在Eclipse中添加库?

我从http://code.google.com/p/google-gson/下载了Gson库.存档包含以下jar文件:

google-gson-1.3/gson-1.3-javadoc.jar
google-gson-1.3/gson-1.3.jar
google-gson-1.3/gson-1.3-sources.jar

如何设置Eclipse以便能够在我的项目中使用该包?我在哪里放文件?

java eclipse install

15
推荐指数
1
解决办法
3万
查看次数

jpql中是否有日期函数?

我想写一些类似的查询: -

Select u from bookmaster u order by Year(b.createDate),Month(b.createDate),day(b.createDate) 
Run Code Online (Sandbox Code Playgroud)

我如何在JPQL中执行此操作?是否有可用的日期解析功能?

jpql

4
推荐指数
1
解决办法
3万
查看次数

在ASP.NET MVC中文件上载超过允许的大小时显示自定义错误页面

我的主要问题是,当上传的文件超出允许的大小时,我想显示自定义错误页面(web.config中的maxRequestLength).

上传大文件时,在调用控制器中的上传操作方法之前会抛出HttpException.这是预料之中的.

我试图在自定义属性中捕获异常,并在控制器中覆盖OnException.为什么不能在属性或OnException方法中捕获异常?

虽然可以在global.asax中捕获Application_Error中的异常,但Response.Redirect和Server.Transfer都不能用于重定向到自定义错误页面.Server.Transfer给出"未能处理子请求"错误,而response.redirect给出"已发送Http头"错误.

有任何想法吗?

提前致谢!

马库斯

c# asp.net asp.net-mvc iis-7 iis-6

41
推荐指数
1
解决办法
3万
查看次数