作为单元测试的一部分,我试图模拟FormsIdentity.Ticket.UserData的返回值
以下将不起作用,但它应该让我知道我想要做什么:
var principal = Mock<IPrincipal>();
var formsIdentity = Mock<FormsIdentity>();
formsIdentity.Setup(a => a.Ticket.UserData).Returns("aaa | bbb | ccc");
principal.Setup(b => b.Identity).Returns(formsIdentity.Object);
Run Code Online (Sandbox Code Playgroud)
我试图测试的代码看起来像这样:
FormsIdentity fIdentity = HttpContext.Current.User.Identity as FormsIdentity;
string userData = fIdentity.Ticket.UserData;
Run Code Online (Sandbox Code Playgroud)
我想在单元测试中做的就是伪造FormsIdentity.Ticket.UserData的返回值.但是当我在第一部分运行代码时,我在尝试模拟FormsIdentity时遇到错误.错误说mock的类型必须是接口,抽象类或非密封类.
我试图使用IIdentity而不是FormsIdentity(FormsIdentity是IIdentity的一个实现)但是IIdentity没有.Ticket.UserData.
那么如何编写此测试以便从FormsIdentity.Ticket.UserData获取值?
说你的URL的路径是:
/thisisa"quote/helloworld/
Run Code Online (Sandbox Code Playgroud)
那么如何创建rel=canonicalURL?
这是犹太人吗?
<link rel="canonical" href="/thisisa&quot;/helloworld/" />
Run Code Online (Sandbox Code Playgroud)
UPDATE
为了澄清,我收到表单提交,我需要将部分查询字符串转换为URL.所以步骤是:
所以我需要知道每一步都要做哪些处理......在第一次切割时,这是我的看法:
htmlspecialchars($rawQuery)htmlspecialchars($rawQery)htmlspecialchars($rawQuery)urlencode($rawquery)因为它来自URL,它不会已经被URL编码了吗?htmlspecialchars($rawQuery)我需要在vb.net中生成随机字符串,该字符串必须由(随机选择的)字母AZ(必须大写)和散布的随机数字组成.它还需要能够以设定的长度生成它们.
谢谢你的帮助,这让我抓狂!
我正在研究像crm这样的概念应用证明,我需要你的一些建议.我的应用程序的数据层完全动态并运行到EF 3.5上.当用户更新实体,更改关系或向数据库添加新列时,首先我计划使用自定义类来实现这些.在应用程序运行时期间使用新更改重建数据库模型层后.我的模型层绑定与我的项目紧密耦合,以便轻松反映模型层更改(它通过接口连接到我的项目并在运行时加载到应用程序域).
我需要创建动态实体,创建实体关系并在运行时修改它们,之后我需要创建更改数据库脚本来更新数据库模式.我知道ADO.NET团队说"我们将能够在EF 4.0中提供这个属性",但我不需要等待它们.
如何通过EF 3.5在运行时更新数据库更改?
例如,我需要创建新实体或需要更改某些实体架构,添加新属性或更改属性类型,而不是如何在物理数据库架构上应用这些更改?
有任何想法吗 ?
我正在尝试使用red5媒体服务器创建一个简单的聊天客户端,但我似乎有轻微的打嗝.我正在服务器端创建一个共享对象,它似乎正在成功创建它.但是,当我通过客户端更改对象(键入消息)时,会触发SYNC事件,但共享对象中的内容仍为空.我怀疑我在java端做错了什么,有什么建议吗?
控制台结果:
Success!
Server Message: clear
Server Message: [object Object]
Local message: asdf
Server Message: change
Server Message: [object Object]
Local message: fdsa
Server Message: change
Server Message: [object Object]
Local message: fewa
Server Message: change
Server Message: [object Object]
Run Code Online (Sandbox Code Playgroud)
服务器端:
package org.red5.core;
import java.util.List;
import org.red5.server.adapter.ApplicationAdapter;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;
import org.red5.server.api.service.ServiceUtils;
import org.red5.server.api.so.ISharedObject;
// import org.apache.commons.logging.Log;
// import org.apache.commons.logging.LogFactory;
public class Application extends ApplicationAdapter {
private IScope appScope;
// private static final Log log = LogFactory.getLog( Application.class ); …Run Code Online (Sandbox Code Playgroud) 我开始开发一个网络应用程序,其主要目的是显示照片.用户也可以上传照片.
提出的第一个问题是在哪里存储照片:在文件系统或数据库上.
我将使用Windows框来托管该网站.数据库是MySQL,后端代码使用ASP.NET MVC在C#中.
是否有一种可靠的方法来为ISO标准C中的固定8,16,32和64位长度的整数类型声明typedef?
当我说ISO标准C时,我的意思是:
我在StackOverflow中看到了与此类似的其他问题,但没有答案尚未违反上述约束之一.如果不诉诸平台符号,我不确定是否可行.
我听说使用控制流异常是不好的做法.你觉得这怎么样?
public static findStringMatch(g0, g1) {
int g0Left = -1;
int g0Right = -1;
int g1Left = -1;
int g1Right = -1;
//if a match is found, set the above ints to the proper indices
//...
//if not, the ints remain -1
try {
String gL0 = g0.substring(0, g0Left);
String gL1 = g1.substring(0, g1Left);
String g0match = g0.substring(g0Left, g0Right);
String g1match = g1.substring(g1Left, g1Right);
String gR0 = g0.substring(g0Right);
String gR1 = g1.substring(g1Right);
return new StringMatch(gL0, gR0, g0match, g1match, gL1, gR1); …Run Code Online (Sandbox Code Playgroud) 因此,要编译我的可执行文件,我需要正确设置库位置.问题是,设置来自一堆执行env变量导出的脚本,需要设置的内容可能会发生变化(超出我的控制范围),所以我需要使用这些脚本而不是复制它们的功能.要在常规命令行中编译,我需要执行以下操作:
setup library1
setup library2
source some_other_setup_script.bash
g++ blah.c
# setup is a executable on my system that run some scripts
Run Code Online (Sandbox Code Playgroud)
我怎么写一个完成它的makefile?据我所知,env变量导出不会结转(即"export VAR = remember; echo $ VAR"不起作用)
在SQL Server中,我可以使用SELECT* INTO..语法将表或临时表复制到新表.
有人知道我怎么能在MySQL中做同样的动作?