我有一个方法:
public static void GetObjects()
{
using(MyContext context = new MyContext())
{
var objects = context.Bars.Where(b => b.Prop1 != null)
.Select(b => new MyObject{Prop = b.Prop1, Name = b.Name})
.ToList();
foreach(var object in objects)
{
// do something with the object
}
}
}
Run Code Online (Sandbox Code Playgroud)
我重构了方法,使其更通用,以便我可以传入一个,Func
以便我可以指定where
语句,并将Bars
表中的属性分配给MyObject.Prop
这样:
public static void GetObjectsV2(Func<Bar, bool> whereFunc, Func<Bar, string> selectPropFunc)
{
using(MyContext context = new MyContext())
{
var objects = context.Bars.Where(whereFunc)
.Select(b => new MyObject{Prop = selectPropFunc(b), Name …
Run Code Online (Sandbox Code Playgroud) 我在Javascript中使用oop相对较新,我想知道私有方法的最佳实践是什么.现在,我正在使用mootools来创建我的类,我通过在前面添加下划线来强制私有方法,并强迫自己不要在类之外调用该方法.所以我的班级看起来像:
var Notifier = new Class(
{
...
showMessage: function(message) { // public method
...
},
_setElementClass: function(class) { // private method
...
}
});
Run Code Online (Sandbox Code Playgroud)
这是在JS中处理私有方法的好/标准方法吗?
我正在尝试为在 EventLog 中报告条目的应用程序编写单元测试。现在,当我运行单元测试时,我必须创建一个临时的 EventLog,向其中写入条目,并在完成后删除日志。我这样做是因为我需要取回没有构造函数的 EventLogEntry 对象。
我的问题是是否有任何方法可以模拟 EventLog 以取回 EventLogEntries。必须将条目写入实际的 EventLog 对我来说更像是集成测试而不是单元测试。
c# ×2
delegates ×1
event-log ×1
javascript ×1
mocking ×1
mootools ×1
oop ×1
unit-testing ×1
windows ×1