我试图模拟一个统一容器 - 我使用Moq并得到这个错误
System.ArgumentException: Invalid setup on a non-overridable member:
c => c.Resolve<ILogisticsAdapter>(new [] {})
Run Code Online (Sandbox Code Playgroud)
这是我测试的设置部分的代码.
var mockContainer = new Mock<IUnityContainer>();
mockContainer.Setup(c => c.Resolve<ILogisticsAdapter>()).Returns(logicsticsAdapter);
IUnityContainer container = mockContainer.Object;
Run Code Online (Sandbox Code Playgroud)
我错过了什么?我不是一般的模拟或单元测试的主人,但从我能说的这应该工作......
以防万一我使用VS2010和MS测试...
谢谢
这是整个测试夹具 - 你可以看到我已经改变它以使用真正的统一容器,但理想情况下我不想创建一个真正的统一容器 - 它不是我正在测试的.但是你可以看到我注释掉的代码......
[TestMethod]
public void WhenContructed_AdapterGetsSet()
{
//Prepare
ILogisticsAdapter logicsticsAdapter = new Mock<ILogisticsAdapter>().Object;
var mockEventAggregator = new Mock<IEventAggregator>();
mockEventAggregator.Setup(x => x.GetEvent<SetHelpMessageEvent>()).Returns(new SetHelpMessageEvent());
IEventAggregator eventAggregator = mockEventAggregator.Object;
IRegionManager regionManager = new Mock<IRegionManager>().Object;
//var mockContainer = new Mock<IUnityContainer>();
//mockContainer.Setup(c => c.Resolve<ILogisticsAdapter>(null)).Returns(logicsticsAdapter);
//IUnityContainer container = mockContainer.Object;
IUnityContainer container = …Run Code Online (Sandbox Code Playgroud) 我有一个类,我正在尝试序列化shared_ptr但序列化对象的常规方法不起作用:
class Object {
public:
Object();
~Object();
shared_ptr<char>objectone;
friend class boost::serialization::access;
template <typename Archive>
void serialize(Archive &ar, const unsigned int version)
{
ar & objectone;
}
};
Run Code Online (Sandbox Code Playgroud)
我甚至以这种方式尝试过但它仍然无效:
void serialize(Archive &ar, const unsigned int version)
{
for (int i = 0; i < (strlen(objectone.get())); i++)
ar & objectone.get()[i];
}
Run Code Online (Sandbox Code Playgroud)
任何想法如何处理这个?谢谢.
一些额外的信息:
我已经包含了两个shared_ptr头文件:
#include <boost/serialization/shared_ptr.hpp>
#include <boost/serialization/shared_ptr_132.hpp>
Run Code Online (Sandbox Code Playgroud)
我试图转换为字符串并以这种方式序列化它但它产生以下错误:boost :: archive :: archive_exception'what():stream error
friend class boost::serialization::access;
template <typename Archive>
void serialize(Archive &ar, const unsigned int version)
{
if (objectone.get()) {
string …Run Code Online (Sandbox Code Playgroud) 我正在编写R包以支持可重复的研究.此时,工作流主要由bash脚本组合在一起,我可以通过发送单个命令来运行分析./runscript.sh.我使用bash进行以下操作:
tar,rsync"重命名"sshR --vanilla它来运行R脚本依次调用R函数sed qsub在我看来,从R函数或R脚本执行整个工作流程会更有效(更清晰,更简单).我偏爱R,因为我对它更熟悉并且主要在emacs ESS中工作.
使用system和files函数将所有这些bash的使用封装在R中是否值得?
还有其他我尚未找到的R套件会对此有帮助吗?
按照Al3xa的回答,我意识到重要的是要注意使用例如速度惩罚.R vs bash版本的tar和gsub在1000-2000文件上可能会小于工作流程中的当前限速步骤:JAGS(~10-20min)和FORTRAN(> 4hrs)的计算
我试图以编程方式更改布局颜色但是相对布局(尝试线性布局但没有更改),但无法更改它.
尝试调试应用程序也无济于事,没有与我的TAG相关的消息.
布局最初打印后,应用程序停止运行.
package com.test.intentdemo;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
//import android.os.SystemClock;
import android.widget.RelativeLayout;
import android.util.*;
import java.lang.Thread;
public class intentDemo extends Activity {
/** Called when the activity is first created. */
RelativeLayout lLayout;
public static final String TAG="MyActivity";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lLayout = (RelativeLayout) findViewById(R.layout.main);
if (Log.isLoggable(TAG,0))
{
Log.e(TAG,"ERROR BEFORE");
Log.i(TAG,"INFO BEFORE");
Log.d(TAG,"DEBUG BEFORE");
lLayout.setBackgroundColor(Color.parseColor("#000000"));
//SystemClock.sleep(2000);
try
{
Thread.currentThread();
Thread.sleep(2000);
}
catch (Exception e)
{
//e.message();
}
Log.e(TAG,"ERROR AFTER");
Log.i(TAG,"INFO AFTER");
Log.d(TAG,"DEBUG …Run Code Online (Sandbox Code Playgroud) 我正在寻找Eclipse存储其启动配置的文件.我正在Ubuntu中进行一些Java开发.
我正在开发的一个可执行文件需要另一个可执行文件的输出作为它的参数.因此,'B'的输出需要作为命令行参数传递给'A'.在Eclipse中,我不想每次都手动更改"运行配置".Eclipse在哪里存储这些配置尤其是参数?
我在项目的extras文件夹中找到了一个"eclipseArguments.txt",但这与我传递给Run Configurations的参数不同.".project"文件也不包含它.我糊涂了.
谢谢您的帮助.
我不认为我正确理解jQuery链接.我循环遍历数组并尝试将div元素添加到我的包装CSS类中,每个div元素都有一个'click'类和自定义css top和left属性,如下所示:
$('<div></div>').appendTo('.wrapper').addClass('click').css('top',click.y).css('left'.click.x);
Run Code Online (Sandbox Code Playgroud)
但它无法按预期工作 - 它添加了一个div元素,将我的.wrapper div的类设置为'click'然后停止.
如果我删除
.css('top',click.y).css('left'.click.x);
Run Code Online (Sandbox Code Playgroud)
它按预期工作 - 向包装器div添加新的div元素.
我怎样才能让它正常工作?谢谢
我目前有一个批准销售的应用程序,发布日期设置为一个月.我想在发布日期之前添加一个额外的功能.
我是否可以在应用程序获得批准但尚未生效的情况下推送升级?
在采访中我被问到以下问题.我试着回答这个问题,但我想要问题的确切答案.
如果我可以将Abstract类模拟为Interface,为什么java提供了Interface?
这意味着如果在Abstract类中我可以将所有方法标记为抽象,然后抽象类将作为接口工作,那么为什么我需要接口.
任何人都可以简要解释一下.
我不记得何时在grep中引入了递归搜索' -R '命令行开关,但现在我无法想象没有它的生活.
唯一的问题是,如果递归中的任何目录与文件名通配符不匹配,grep -R将停止并且将无法报告确实产生正搜索结果的目录和文件.
例如:
grep -R skeleton_app *.xml
Run Code Online (Sandbox Code Playgroud)
只报告
AndroidManifest.xml: <application android:label="@string/skeleton_app">
Run Code Online (Sandbox Code Playgroud)
而:
grep -R skeleton_app *
Run Code Online (Sandbox Code Playgroud)
将全部报告:
AndroidManifest.xml: <application android:label="@string/skeleton_app">
Binary file bin/classes.dex matches
Binary file bin/com/example/android/skeletonapp/R$string.class matches
gen/com/example/android/skeletonapp/R.java: public static final int skeleton_app=0x7f050000;
res/values/strings.xml: <string name="skeleton_app">Understanding Intents</string>
Run Code Online (Sandbox Code Playgroud)
我的问题:有没有办法告诉' grep -R ' 不要停止文件名不匹配?
我试图摆脱所有的DateTime.Now方法调用,并用我自己的GetNow()方法替换它们,有时可能返回固定的日期用于测试目的.
我如何强制执行以后没有人添加DateTime.Now电话?我可以使用NDepend或StyleCop在我的持续集成服务器上进行检查吗?