偶尔我会看一些代码,我搜索一个方法的用法(使用resharper)并发现它只是通过测试调用.所以它实际上是多余的,我可以删除它和调用它的方法.
显然,在这个地方放置未使用的代码是没有意义的,这会降低构建速度和测试运行速度.我想要的是一个工具,可以告诉我生产代码的所有部分只能通过测试访问.
我有一个完整版的resharper,还有NDepend的试用版,但还没有找到如何使用其中任何一个来获得我想要的结果(不用付钱).我怀疑NDepend的完整版本可能是可能的,但还有其他人知道的工具吗?
如果上下文有帮助,解决方案是ASP.net网站,其功能大部分由WCF服务处理.因此,大部分代码的唯一有效入口点是服务方法.测试在他们自己的单独项目中.
我已经开始赏金了,因为我确信其他人必须拥有并解决过这个问题!
对于你所有的摇滚乐手来说这应该是一个快速的,但它让我陷入困境.
我有一个F#类型,我正试图实现ac#接口
public interface ICrudService<T> where T: DelEntity, new()
{
IEnumerable<T> GetAll();
}
Run Code Online (Sandbox Code Playgroud)
这是它在c#中的实现方式:
public IEnumerable<T> GetAll()
{
return repo.GetAll();
}
Run Code Online (Sandbox Code Playgroud)
repo.GetAll返回一个IQueryable,但c#编译器知道足以转换为IEnumerable因为IQueryable<T> : IEnumerable<T>.但是在F#中编译器无法正常工作,我尝试了一些尝试正确地进行转换
type CrudService<'T when 'T :(new : unit -> 'T) and 'T :> DelEntity>(repo : IRepo<'T>) =
interface ICrudService<'T> with
member this.GetAll () =
repo.GetAll<'T>
Run Code Online (Sandbox Code Playgroud)
这给了我一个类型不匹配的错误
我正在使用MS-Test进行单元测试编写.我的大部分测试持续时间不到0.1秒.我想以某种方式告诉VS"忽略需要较长的时间来运行,当我手动运行测试的测试,当你在构建运行它们不要理他们.
我知道在nunit中有一个"显式"属性,只有在你明确选择他时才会运行测试.我认为这可能有所帮助但不确定.
请帮忙
unit-testing mstest tfs2008 visual-studio-2010 visual-studio-2008
我想要一个字符串中的最后一个字符
我有str.[str.Length - 1],但那很难看.肯定有更好的办法.
从helloworld开始,我试图通过制作一个应用程序向我学习一些小马,该应用程序会回显用户输入的内容。除了行I之外,这行得通_env.out.print(_buffer)。
class MyInput iso is StdinNotify
var _env: Env
var _buffer: Array[U8]
new iso create(env: Env) =>
_env = env
_buffer = Array[U8].create()
fun ref apply(data: Array[U8] iso) =>
for item in (consume data).values() do
if item == 0x0A then
_env.out.print(_buffer)
_buffer = Array[U8].create()
end
_buffer.push(item)
end
Run Code Online (Sandbox Code Playgroud)
我得到的编译错误是:
argument not a subtype of parameter
_env.out.print(_buffer)
^
parameter type: ByteSeq val
be print(data: ByteSeq) =>
^
argument type: Array[U8 val] ref
_env.out.print(_buffer)
Run Code Online (Sandbox Code Playgroud)
通过阅读github中的源代码,我认为 Array …
我在工作中遇到了这个问题,虽然我有一个解决方案,但我不禁觉得有更优雅的方式.List.IndexOf()的使用对我来说有点骇人听闻.
我必须按信用评级对BreakdownItems进行排序.信用评级不遵循字母顺序,因此我将它们视为只是具有一些任意的非逻辑顺序.
IEnumerable<BreakdownItem> unsortedCreditRatings = new List<BreakdownItem>
{
new BreakdownItem{ Name = "CCC", Weight=20d},
new BreakdownItem{ Name = "AA", Weight=20d},
new BreakdownItem{ Name = "AAA", Weight=10d},
new BreakdownItem{ Name = "B", Weight=50d},
};
var sortOrder = new List<string>
{ "AAA", "AA", "A", "BBB", "BB", "B", "CCC", "below CCC" };
var sortedRatingBreakdown = unsortedCreditRatings
.OrderBy(item => sortOrder.IndexOf(item.Name));
Run Code Online (Sandbox Code Playgroud) 我有一个巨大的xml文件(0.5 gb),没有换行符.我希望能够在不打开整个文件的情况下查看前200个字符.有没有办法用PowerShell做到这一点?
我一直在试验F#,并认为,作为一个学习练习,我可以获得一个现有的c#项目,并用F#版本逐个替换类.当我尝试使用F#'class'类型实现通用c#接口时,我遇到了麻烦.
C#界面
public interface IFoo<T> where T : Thing
{
int DoSomething<T>(T arg);
}
Run Code Online (Sandbox Code Playgroud)
试图实施F#.我有各种版本,这是最接近的(给我最少量的错误消息)
type Foo<'T when 'T :> Thing> =
interface IFoo<'T> with
member this.DoSomething<'T>(arg) : int =
45
Run Code Online (Sandbox Code Playgroud)
我现在得到的编译错误是:
成员'DoSomething <'T>:'T - > int'没有正确的类型来覆盖相应的抽象方法.所需的签名是'DoSomething <'T>:'T0 - > int'.
这令我感到困惑.什么是'T0?更重要的是如何正确实现此成员?
c# ×3
f# ×3
architecture ×1
casting ×1
dci ×1
generics ×1
ienumerable ×1
linq ×1
mstest ×1
ndepend ×1
ponylang ×1
powershell ×1
string ×1
tfs2008 ×1
unit-testing ×1