首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Orchard Core 中运行带程序上下文的单元测试

Orchard Core 带有很多单元测试,使用 Xunit 单元测试框架,除了简单的直接调用待测试的方法,有一些复杂的测试是需要上下文的,甚至需要 Application 程序启动起来,Orchard...Core 的例子中有一个基于 HTTP 的 Application 测试,但是其测试都是通过调用 HTTP API 执行的,测试 Controller 挺方便,但是测试 Service 等就麻烦了,而且测试往往是需要调用内部的一些方法的...所以自己做了个能够启动 Application 且在 Application 上下文内执行测试的单元测试基类和辅助方法。...由于是从我给 Orchard Core 团队提的 issue 里面整理拷贝而来,中英文混合,将就着看,主要把我的实现代码分享,方便有需要的人。...OriginalPathBase = String.Empty, OriginalPath = "/" }); return context; } 使用的例子

37720
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    小程序上线后的500+天

    2017年5月18日初夏,记者走访了由经纬中国和浅石创投投资的一家做体育内容的创企,当时距离张小龙1月份宣布小程序上线的消息刚刚过去4个月。 初创公司是要摔跟头的,尤其是在资金成本投入方面。...时至今日,无数像他一样的创业者触及了小程序,每一位都成为了小程序上线500多天后,6亿用户分之一。...而小程序消费类别分布中,排在前五的依次为餐饮外卖、水果生鲜、服装鞋包、生活用品、交通出行,其中餐饮外卖占比位居首位,达到26%。...尤其是电商流量的获客成本非常高的当下,小程序能够将流量去中心化,形成非常低的获客成本。像拼团、砍价等模式,都可以在小程序上如鱼得水地运营起来。...可是这种快速的使用模式,也成为了小程序的命门——留存。“即看即走”,这是小程序的痛中之痛。

    45910

    对舞台表演的认知还停留在灯光秀阶段?

    在TED演讲中,美国高科技魔术师Macro Tempest,戴上AR眼镜,用扑克牌为观众编织了一个可以说相当美丽的故事:用一副牌中的数字与颜色,来展示与季节、月亮公转周期和日历有关的一些东西。 ?...Macro Tempest的AR魔术 Marco说,这件作品中他尝试使用“魔法”来表现,将视频和AR数字技术融入到作品中,投射到舞台大屏幕上的视觉效果也是实时生成的,给观众带来引人入胜的体验。...MR+魔术:欣赏“日月星辰”带来的掌中舞 同样是魔术,国内魔术师董亮在其《幻梦星云》的表演中,用MR演绎了不一样的“魔法”。...整个体验既是围绕一个“真实”的舞台,又显得非常梦幻。 ? 值得一提的是,《仙媛》中,所呈现的仙女的舞蹈,来源于芭蕾舞演员的真实舞蹈动作。...在跟威尔士国家歌剧的合作中,Rewind把两部经典的歌剧——《蝴蝶夫人》和《魔笛》制作成VR内容,即“魔法蝴蝶”。 ?

    52120

    还停留在ASP的写法吗?VFP的世界早变天了

    互联网开端的时候流行的技术是Web1.0,也就是又当爹又当妈,前端与后端代码都混在一起,至今还有一个VFPer一上手就把ASP那套混合代码写在HTML中当做真理,可不知道现在HTML现在已经进化到小程序状态了...现在的许多中小公司开始把前后端的界限分得越来越明确,前端工程师只管前端的事情,后端工程师只管后端的事情,这样互不干扰,效率才高。这是现在的现状,还去学ASP那套真的就浪费时间了。...用VFP完全可以开发中小型系统,你用一个VFP+H5就可以搞定管理类型的软件多端了,也就是说你就是一个全栈工程师了。在我的社群里面,连DBF都可以用来开发多端应用了。...停留在无谓的语言争论是不会让你有成长的,你把时间停留在QQ群里面那些有闲时间吹水的大师身上,可是很可怕的。...人最有成就感的事情就是,自己的软件的能够有生命力,持续不断在被人使用,更有成熟感的事情,就是把你的软件进行商业化,能赚到钱。

    68720

    inline: 我的理解还停留在20年前

    你好,我是雨乐~ 在上篇文章访问私有变量——从技术实现的角度破坏"封装"性一文中,在第二个实现示例中,用到了inline 变量,一开始,是懵逼的,因为在我的印象中inline 仅仅函数,而在此处却用于声明变量...不过,为了研究那段代码,还是仔细研究了下,不看不要紧,一看吓一跳,原来我对inline的理解停留在n年前。于是赶紧恶补这方面的知识,而这篇文章呢,就是我最近研究的一个知识点总结。...而对于inline函数(编译器确认可以inline的),除上述的函数名称和返回值之外,也将函数的实现(究竟存放源代码还是编译后的汇编指令就看编译器的实现了)放在符号表中。...当然,同时在多个源文件中定义同一个inline变量必须保证它们的定义都相同,否则和inline函数一样,你没办法保证链接器最终采用的是哪个定义。...,我们了解到加了inline的子namespace,对于其父namespace来说,就像在父namespace中声明定义的一样,即在namespace lib2中,变量a的类型是lib1::Object

    41910

    小程序上视频列表的渲染与性能优化

    | 导语  小程序的部分组件是由客户端渲染的原生组件,本文使用的 video 组件属于其中之一。视频列表涉及多个 video 组件的渲染、资源加载、滑动,处理不当会带来比较大的性能消耗。...本文通过多种方案的对比,探讨视频列表渲染的最佳姿势,达到性能优化的目的。 一、背景 qq 小程序应用商店上的“值得一玩”模块,是由多个横向排列的视频组成的视频列表。...安卓的同层渲染真正将原生组件视图加到了 WebView 的渲染流程中且 embed 节点是真正的 DOM 节点。当组件的位置发生改变时,WebView 更新,不用与客户端通信。...从表象上看,卡顿现象的发生与滑动到目标区域后是否播放视频有关。是 Appservice 与客户端的通信阻塞了 Webview 的操作?还是播放视频导致了卡顿的发生呢?...从方案2中的分析可以得到,在 video 组件的 src 赋值前,仅创建了一个 DOM 节点,该步骤的时间花销较小。在 video 组件的 src 赋值后,才“真正”渲染 video 组件。

    3.7K61

    Python中的+=

    引出 今天在运行之前写的一个Python脚本时,发生了一个奇怪的现象(我怎么老遇到奇怪的现象~~)。...我找了半天,没有找到对a变量的修改或赋值操作。 最终,发现了藏在中间的c变量,因为是列表对象的引用赋值,所以直接修改了a变量。我将两个变量的地址打印出来,确实是这样的。 ? ?...解惑 都知道Python的运算符重载操作,加法调用的是__add__方法,+=调用的是__iadd__方法。既然产生这个现象,那一定是list对两个方法的实现不同咯。...可以看到,都是新的值。如果修改一下方法的实现: ? 再测试就会发下,两个运算返回的都是同一个对象。水落石出,Python对两个不同的运算符使用了不同的实现方法。...一探究竟 那为什么Python会在 +=操作时,直接修改原对象。而=+操作却要返回新的对象呢? 简单推测一下,可能Python的作者认为,+=操作是要将后边的值加到自身上。而+则是两个值的运算操作。

    1.7K20

    Python Python中的包

    Python中的包 什么是python的包与模块 包就是文件夹,包中还可以有包,也就是文件夹 一个个python文件就是模块 包的身份证 __init__.py是每一个python包里必须存在的文件 如何创建包...要有一个主题,明确功能,方便使用 层次分明,调用清晰 包的导入 import 功能 将python中的某个包(或模块),导入到当前的py文件中 用法 import package 参数 package...:被导入的包的名字 要求 只会拿到对应包下__init__中的功能或当前模块下的功能 模块的导入 form..import.....功能 通过从某个包中找到对应的模块 用法 form package import module 参数 package:来源的包名 module:包中的目标模块 举例: form animal import...dog dog.run 我们通过 form import 直接找到了dog模块 所以只需要使用dog模块用.的方式找到里面的方法并执行 as可以取别名 代码 test1.py # coding

    2.2K30

    你对区块链的理解还停留在炒币上吗

    币圈一时火热,那么你对区块链的理解还停留在发币、炒币阶段吗?那真的落伍了。 此区块链非彼区块链 国家所说的区块链并非币圈所说的区块链。人民日报评论文章指出,区块链“未来已来”,但也要保持理性。...发展区块链大方向没有错,但是要避免一哄而上、重复建设,方能在有序竞争中打开区块链的发展空间。也许,区块链不只是下一代互联网技术,更是下一代合作机制和组织形式。...电子发票的基本流程包括:线上支付、发票申领、开票、报销和报税等流程。其实,如果不用区块链,该过程就与电子发票的操作过程没什么区别。那么,区块链发票中的区块链元素有多少呢? ?...我们看一下这一过程,其中开票规则明确写在区块链上,开票过程中的记录及状态流转也同样在区块链上体现。也就是说区块链的数据功能已经发挥,也就保证了链上的数据的不可篡改等特性。...小结 如果你对区块链理解还只是停留在狭义的玩币的那些公链,可能你真的要刷新这块的知识了。像上面的区块链发票已经应用了腾讯自主研发的TrustSQL区块链基础平台。

    67620

    你还停留在“Broca”区和“Wernicke”区的语言模型时代吗?

    在文章中,他们首先对‘‘Wernicke-Lichtheim-Geschwind” 模型的提出进行了历时性的 回顾,然后提出我们认为的经典模型其实已经“过时”,不能再适应语言神经基础的分布式本质。...下面这张图(图1)是作者总结的过去研究中对这两个脑区进行关注的研究。 我们可以看到,在不同时期里,研究者们对这两个经典脑区的关注热情都并未下降。...另一个额颞连接,EmC或极端囊状纤维系统是位于隐窝(内侧)和岛叶(外侧)之间的轴突集合。人类的一些证据表明,EmC将腹侧额叶和侧额叶与大部分的上颞叶和中颞叶皮层连接起来,从前向后延伸。...这样的通路可以在前下额叶和颞叶之间提供另一种路径,可能支持句法和语义处理。 最后,IFOF起源于枕下叶和枕中叶(也可能是枕中顶叶),向颞叶腹侧发出投射,通过颞干投射至IFG、眶中额皮质和额极。...这篇文章中引用的很多文献都是语言神经基础研究中很具有典型性的研究,建议感兴趣的朋友要仔细研读啊。相信读过这篇文章后,你将对语言神经基础甚至于语言脑网络的研究有着更加清晰和全面的认识!!!

    1.6K00

    python中 global_python中round的用法

    在Python中,一个变量的scope范围从小到大分成4部分:Local Scope(也可以看成是当前函数形成的scope),Enclosing Scope(简单来说,就是外层函数形成的scope),Global...Scope(就是当前文件形成的scope),Builtins Scope(简单来说,就是Python内置的变量位于最顶层的scope)。...当Python开始查找一个非限定的变量名时(像obj.attr中的attr,就是一个被限定的变量名字,它被限定在obj对象中,而普通的变量名就是没有限定的),总是从当前变量名所处的scope开始,顺着前面提到的...>>>88 nonlocal nonlocal是Python 3.X加入进来的关键字,Python 2.X中没有。...在Python中,嵌套函数是可以访问外部函数的变量的(至少在>Python 2.2的版本是这样的,在Python 2.2之前的版本中,变量的查找从当前函数开始,然后直接到Global Scope,Builtins

    1.4K10
    领券