小编Dea*_*lor的帖子

MvcIntegrationTestFramework或为ASP.NET MVC 3更新的替代方案

我有兴趣使用Steve Sanderson的MvcIntegrationTestFramework 与ASP.NET MVC 3 Beta 非常相似的替代方案.

目前在针对MVC 3 Beta 编译MvcIntegrationTestFramework时,由于MVC的更改,我得到以下错误:

Error 6 'System.Web.Mvc.ActionDescriptor.GetFilters()' is obsolete: '"Please call System.Web.Mvc.FilterProviders.Providers.GetFilters() now."' \MvcIntegrationTestFramework\Interception\InterceptionFilterActionDescriptor.cs Line 18

问题

1.任何人都可以提供适用于ASP.NET MVC 3 Beta的MvcIntegrationTestFramework吗?

---和/或---

2.你会推荐类似的替代方案吗?


编辑#1:注意我已经通过电子邮件发送了史蒂夫MvcIntegrationTestFramework的创建者,也希望在那里得到一些反馈.

编辑#2:我收到了史蒂夫的消息.引用供您参考:
我不需要将该项目与MVC 3一起使用,很抱歉,我没有它的更新版本.据我所知,它应该可以更新它以适用于MVC 3,但你需要通过检查MVC 3源代码来发现这一点,以注意如何调用动作,过滤器等的任何变化现在.如果您确实更新它,并且如果您决定将其作为正在进行的项目(例如,将其置于Github或类似项目),请告诉我,我将发布一个链接!(谢谢史蒂夫!)

编辑#4:老实说快速使用System.Web.Mvc.FilterProviders.Providers.GetFilters()没有快速到达任何地方,只是添加[Obsolete]发现MVC请求的内部存在错误.还有其他人涉猎过吗?

编辑#5:如果您正在使用带有MVC 3的替代集成测试框架,请发表评论.

asp.net-mvc integration-testing unit-testing asp.net-mvc-3

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

通过ExecuteResult进行单元测试或运行时ActionResult字符串输出响应?

问题......

从几种Controller方法单元测试字符串响应内容类型的最佳方法是什么?

使用...

每个方法返回一个ActionResult,其中一些是ViewResult响应.我正在使用ASP.NET MVC 2 RTM和Moq.

特别...

我想获取TextWriterfrom HttpContext.Response并让它包含来自的完整字符串响应ActionResult.

为什么?

1.在单元测试中

我想测试一些特定的内容是否与输出存在.

2.通过工作线程运行时

我使用后台工作线程来更新远程服务器上的静态内容,这个内容是控制器的输出,必须这样生成.不建议通过HTTP向同一服务器发出请求,因为有许多1000个文件已更新.

我看到在运行时单元测试中使用相同的代码,因为它非常相似?

绊脚石1

如何正确设置模拟不需要路由调用RegisterRoutes并使RegisterAllAreas调用成功,目前在内部引发异常BuildManagerWrapper::IBuildManager.GetReferencedAssemblies.

示例代码

我的嘲笑助手看起来像这样:

public static HttpContextBase FakeHttpContext()
{
    var context = new Mock<HttpContextBase>();
    var request = new Mock<HttpRequestBase>();
    var response = new Mock<HttpResponseBase>();
    var session = new Mock<HttpSessionStateBase>();
    var server = new …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc unit-testing actionresult asp.net-mvc-2

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

提琴手自动应答器+正则表达式

我知道标题不是很具描述性,但这是我无法弄清楚的!好的,我有类似以下网址的内容:

http://realsite.com/Stuff/start.ashx?blah=blah1&RandomStuffHere&blah=false
Run Code Online (Sandbox Code Playgroud)

所以我需要重定向它或者提供我的网站:

http://My_Site.com/Stuff/newstart.ashx?blah=blah1&RandomStuffHere&blah=true
Run Code Online (Sandbox Code Playgroud)

实现我如何保持一切都相同,除了我更改为我的域,以及最后的bool值.我搜索过,搜索过,但仍无法找到有效的东西.

我目前正在尝试REGEX解决方案,但它不会让我在结束时更改bool. REGEX:.*/Stuff/start.ashx(.*)

因此,如果任何人都可以提供类似这样的东西,让我重定向到我的网站,所有内容与新网址相同,除了最后改变布尔,我将永远在你的债务!:d

先感谢您 :)

regex fiddler

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

在页面加载时,使google-chrome浏览器全屏显示

请考虑在这里回答这个问题,即使你把它标记为重复,因为由于某种原因我无法让它与其他解决方案一起工作,虽然我试图寻求帮助但没有人回复...

我真正想要的是,$(document).ready(function(){browser goes fullscreen})但遗憾的是它无法正常工作,我渴望通过尝试在线找到解决方案,因为似乎没有任何工作!我有js文件很好地插入我的主要php文件(console.log工作)但它不会加载全屏无论代码行...

如果您可以提供在所有浏览器中工作的解决方案并且激活了密钥,那么我真的非常感谢.否则我会鄙视谷歌Chrome回答.非常感谢.

EDIT1:

我试过这个

// mozilla proposal
element.requestFullScreen();
document.cancelFullScreen(); 

// Webkit (works in Safari and Chrome Canary)
element.webkitRequestFullScreen(); 
document.webkitCancelFullScreen(); 

// Firefox (works in nightly)
element.mozRequestFullScreen();
document.mozCancelFullScreen(); 

// W3C Proposal
element.requestFullscreen();
document.exitFullscreen();
Run Code Online (Sandbox Code Playgroud)

以下仅在用户交互下进行:

addEventListener("click", function() {
    var
          el = document.documentElement
        , rfs =
               el.requestFullScreen
            || el.webkitRequestFullScreen
            || el.mozRequestFullScreen
    ;
    rfs.call(el);
});
Run Code Online (Sandbox Code Playgroud)

其中我现在找不到,基本上我把它们结合起来$(document).ready(function(){---});但没有发生任何事情.

javascript browser jquery html5 google-chrome

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

返回非字符串输出的String.replace函数

所以我有这个字符串,我想从中删除非字母数字字符:

my_string = "¿Habla usted Inglés, por favor?"
Run Code Online (Sandbox Code Playgroud)

基本上,在这种情况下,我想摆脱?,¿和。然后,我将单词分成一个列表,并与每个单词做各种处理。

我在用

String.replace(my_string, my_regex, "")
String.split(" ")
Run Code Online (Sandbox Code Playgroud)

做工作。我尝试使用两个不同的正则表达式字符串:

my_regex = ~r/[\_\.,:;\?¿¡\!&@$%\^]/
my_regex = ~r/[[:punct:]]/
Run Code Online (Sandbox Code Playgroud)

第一个作品就像一种魅力。我最终得到:

["habla", "usted", "inglés"]
Run Code Online (Sandbox Code Playgroud)

第二个删除正确的字符,但我最终得到:

[<<194, 104, 97, 98, 108, 97>>, "usted", <<105, 110, 103, 108, 195, 115>>]
Run Code Online (Sandbox Code Playgroud)

起初,我认为奇怪的输出仅仅是由于将非ASCII Alpha转储到控制台。但是,当我尝试与预期的字符串列表进行匹配时,它将失败。

无论如何,我只是不明白为什么两个不同的正则表达式根据列表中的字符串导致不同的输出。

这是可以在iex中运行以简洁地重现我的问题的代码:

a = ~r/[\_\.,:;\?¿¡\!&@$%\^]/
b = ~r/[[:punct:]]/
y = "¿Habla usted Inglés, por favor?"
String.replace(y, a, "")  
    # ->  "Habla usted Inglés por favor"
String.replace(y, b, "")
    # -> <<194, 72, 97, 98, 108, 97, 32, 117, …
Run Code Online (Sandbox Code Playgroud)

regex unicode elixir unicode-string

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