问题列表 - 第19735页

使用moq模拟第三方回调事件

我们一直在尝试使用C#编写的worker类的单元测试,它使用moq模拟第三方API(基于COM)来动态创建模拟对象.NUnit是我们的单元测试框架.

这个第三方组件实现了几个接口,但还需要使用事件回调到我们的工作类.我们的计划是模拟第三方组件可以引发的事件,并测试我们的工人类是否按预期运行.

不幸的是,我们遇到了一个问题,因为moq似乎无法模拟并引发外部定义的事件.遗憾的是,我无法提供我们正在使用的确切第三方API的代码,但我们使用MS Word API重新创建了该问题,并且还显示了在使用本地定义的界面时测试如何工作:

using Microsoft.Office.Interop.Word;
using Moq;
using NUnit.Framework;
using SeparateNamespace;

namespace SeparateNamespace
{
    public interface LocalInterface_Event
    {
        event ApplicationEvents4_WindowActivateEventHandler WindowActivate;
    }
}

namespace TestInteropInterfaces
{
    [TestFixture]
    public class Test
    {
        [Test]
        public void InteropExample()
        {
            // from interop
            Mock<ApplicationEvents4_Event> mockApp = new Mock<ApplicationEvents4_Event>();

            // identical code from here on...
            bool isDelegateCalled = false;

            mockApp.Object.WindowActivate += delegate { isDelegateCalled = true; };

            mockApp.Raise(x => x.WindowActivate += null, null, null);

            Assert.True(isDelegateCalled);
        }

        [Test]
        public void LocalExample()
        {
            // from …
Run Code Online (Sandbox Code Playgroud)

c# nunit unit-testing moq mocking

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

Django:信号到底有什么用?

我很难理解信号如何进入我的应用程序(以及它们如何工作期).以下是我认为适用的三个方面(根据我目前的知识):

  1. 将XML发送到远程服务器以进行报告(在事务完成后).
  2. 重新调整图像大小并在用户上传后将缩略图上传到S3.
  3. 用户从其帐户中删除图像对象后,从S3中删除旧图像.

我是完全偏离基地(我觉得我可能会).我收到信号和多线程混淆了吗?如果是这样,他们在应用程序中进行比较吗?它们只是用于解耦吗?另外,确保你提前实例化它们并且不使用本地函数(因为它们会收集垃圾)是什么?有人可以详细说明吗?我是否应该将它们全部放入请求中间件中以便我不必担心?

django aop django-signals

8
推荐指数
2
解决办法
1193
查看次数

如何使用相互身份验证解决TLSv1握手问题?

我有一点时间让我的Web服务客户端与我的Web服务通信,这需要客户端证书.我正在使用JAX-WS 2.1,Web服务请求首先通过IIS,然后在身份验证后转发到JBoss.

我使用自签名证书作为客户端证书,它安装在Windows"服务器"的"受信任的根证书颁发机构"部分中.

如果我尝试使用Internet Explorer访问服务的WSDL,系统会提示我输入证书,然后选择我创建的证书,一切似乎都正常.这让我相信所有正确的"人"都可以信赖所有证书.

下面我可以看到服务器包含对我的"happyFunBall"的引用作为它信任的权限,因为它包含在握手的CertificateRequest部分中:

*** CertificateRequest
Cert Types: RSA, DSS`
Cert Authorities:
   ...
<CN=Symantec Root CA, O=Symantec Corporation>
<CN=DoD Root CA 2, OU=PKI, OU=DoD, O=U.S. Government, C=US>
<CN=Microsoft Root Authority, OU=Microsoft Corporation, OU=Copyright (c) 1997 Microsoft Corp.>
<CN=happyFunBall, O=blah.blah.com, C=US>
<CN=DoD PKI Med Root CA, OU=PKI, OU=DoD, O=U.S. Government, C=US>
<CN=ECA Root CA 2, OU=ECA, O=U.S. Government, C=US>
<CN=Symantec Root 2005 CA, O=Symantec Corporation, C=US>
<CN=Microsoft Root Certificate Authority, DC=microsoft, DC=com>
   ...
*** ServerHelloDone
Run Code Online (Sandbox Code Playgroud)

我几乎是这个东西的新手,所以我可能会遗漏一些非常基本的东西,我可能不会包含所有相关信息...无论如何,我使用keytool …

java ssl web-services

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

使用PayPal SOAP API发送API CAll

好的,所以我的.NET项目中有服务引用.是的,我知道您现在可以访问代理类.

但是在过去,我习惯通过使用NVP的HttpWebRequest对象来做这件事,但从未尝试过使用WSDL并以这种方式发送SOAP请求.

我不太确定使用哪个对象来发送请求.不知道从哪里开始.我看过这些文档,但看不到.NET和PayPal的好例子.

除了WSDL与通过NVP API和查询字符串params发送HttpWebRequest之外,我真的不明白你发送请求的方式是否有所不同.它只是在Http上,所以你不能在SOAP API上使用HttpWebRequest(使用WSDL)吗?

c# paypal paypal-soap

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

在Prolog中实现DPLL算法

我正在尝试在Prolog中应用简化算法,但我不是Prolog大师.我需要它没有任何错误,所以我认为你们可能能够提供帮助.

Prolog中DPLL算法的实现是什么?

algorithm implementation prolog

5
推荐指数
0
解决办法
1482
查看次数

IPC :: Open3在Apache下运行失败

我有一个使用IPC :: Open3(或IPC :: Open2,二者显示出这个问题)调用外部二进制(在这种情况下bogofilter),并通过对儿童输入文件句柄给它一些输入的模块,然后读取结果子输出句柄.在大多数环境中运行时,代码工作正常.但是,此模块的主要用途是在Apache 2.2.6下运行的Web服务中.在那种环境下,我得到了错误:

不能fdopen STDOUT:参数无效

这只在代码在Apache下运行时才会发生.此前,该代码构成的可怕复杂的命令,其中包括一个在这里,文件的输入,并与背蜱运行它.虽然有效,但速度非常慢,并且容易以独特和令人困惑的方式打破.我不想重新使用旧版本,但我无法解决这个问题.

apache perl ipc mod-perl2

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

使用MVVM在ButtonClick上折叠/可见UserControls - 没有交换机制 -

在我的情况我有一个的MainView + MainViewModel,+的UserControl1用户控件2.在我的MainView有2个按钮标记:Button_ShowUserControl1 + Button_ShowUserControl2.在的MainView下部我有一个"ContentGrid"这需要/ should_take ......每一个用户控件.

我的目标:

当Button_ShowUserControl1被点击的UserControl1可见UserControl2 任何其它用户控件必须设置倒塌.同样适用于Button_ShowUserControl2.

我的问题:

1.)由于UserControls应在应用程序启动时加载,如何将它们全部放在一个"ContentGrid"中?多数民众赞成实际上是不可能的...所以我怎么能让一个UserControl可见而另一个在同一个地方/"ContentGrid"刚刚崩溃?

2.)因为1.)似乎不可能如何在应用程序启动时实例化所有UserControl并使它们仅在单击相应的Button时可见/折叠?

3.)由于UserControl有一个属性Visibility = Visible/Hidden/Collapsed,如何绑定到ViewModel中的属性返回像Collapsed这样的值?我只能获得像Visibility = false/true这样的布尔值?

我的测试代码:

<Grid x:Name="LayoutRoot" Background="#FFBDF5BD" ShowGridLines="False">
    <Grid.RowDefinitions>
        <RowDefinition Height="96*" />
        <RowDefinition Height="289*" />
    </Grid.RowDefinitions>      
    <Grid HorizontalAlignment="Stretch" Name="MenuGrid" VerticalAlignment="Stretch" Background="#FFCECEFF">
        <StackPanel Name="stackPanel1" Background="#FFEDFF00" Orientation="Horizontal">
            <Button Content="User Data 1" Height="35" Name="button1" Command="{Binding  Path=ShowUserControl1Command}" Width="150" Margin="100,0,0,0" />
            <Button Content="User Data 2" Height="35" Name="button2" Width="150" Margin="100,0,0,0" />
        </StackPanel>
    </Grid>
    <Grid Grid.Row="1" HorizontalAlignment="Stretch" Name="ContentGrid" VerticalAlignment="Stretch" Background="#FFB15454" />
</Grid>

<UserControl x:Class="SwapUserControls.MVVM.UserControl2" …
Run Code Online (Sandbox Code Playgroud)

user-controls mvvm collapse

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

静态函数/类..原因?

可能重复:
我什么时候应该在课堂上使用静态方法,有什么好处?

我现在正在使用PHP.

我正在研究两组函数.

我有一个由日期处理函数组成的类.

在这个类中,我不需要属性,因为每个函数/方法或多或少都是一个实用程序.因此,我使我的班级功能全部静止.

我在这里有几个问题.

1)使用静态方法有什么好处?据我所知,由于没有Object,因此处理开销较低.我也听说这可以忽略不计(视情况而定).

2)除了公用事业之外,还有哪些其他类型的功能/方法是"静态"的良好候选者?

谢谢

php static

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

使用AppleScript获取完整的目录内容

我需要将文件夹及其子文件夹的整个(可见)内容作为列表.这可能吗?

directory applescript list subdirectory

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

从多个工作线程更新UI(.NET)

我有一个我正在研究的宠物项目,它有多个工作线程.将所有内容输出到控制台变得越来越难以遵循,因此我想开发一个每个线程有一个输出区域的UI.我想知道线程向UI发送更新的最佳方式.我有两个想法:

1)让每个线程在新数据可用时设置"DataUpdated"标志,并让UI定期检查新数据.

2)创建每个线程,并在新数据可用时调用UI Update(...)方法.

我目前倾向于(2)有两个原因:我不喜欢"检查"每个线程的想法,因为这是我的第一个多线程应用程序,(2)似乎比它可能更简单.我想知道:

  • 在简单性和效率方面哪个选项更可取?
  • 你有任何实施(2)或类似的东西(即更多事件驱动)的提示吗?

.net c# user-interface multithreading

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