有一个主subversion存储库,我克隆了一个git repo.我的.gitignore中有很多被忽略的文件,我希望svn知识库能够知道.
我知道我可以用来git svn show-ignore从subversion中提取被忽略的列表,但是如何反过来?将要忽略的文件列表发送回svn repo?
Git版本(和git-svn版本相同):
git --version
git version 1.7.0.5
Run Code Online (Sandbox Code Playgroud) 我试图用Autofixture控制对象树的生成深度.在某些情况下,我只想生成根对象,在另一组情况下,我可能想要生成一个特定深度的树(2,3,比方说).
class Foo {
public string Name {get;set;}
public Bar Bar {get;set;}
public AnotherType Xpto {get;set;}
public YetAnotherType Xpto {get;set;}
}
class Bar {
public string Name {get;set;}
public string Description {get;set;}
public AnotherType Xpto {get;set;}
public YetAnotherType Xpto {get;set;}
public Xpto Xpto {get;set;}
}
class Xpto {
public string Description {get;set;}
public AnotherType Xpto {get;set;}
public YetAnotherType Xpto {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
通过上面的例子,我希望(深度1)控制生成过程,以便只实例化Foo类,并且不填充该类的Bar属性或任何其他引用类型,或者(深度2)我想要Foo类实例化后,Bar属性使用新的Bar实例填充,但Xpto属性或该类上的任何其他引用类型未填充.
如果我没有在代码库中发现它,Autofixture是否有自定义或行为允许我们进行这种控制?
同样,我想要控制的不是递归,而是对象图的填充深度.
在Autofixture中是否有一些简单的方法来使用它的构造函数来创建对象,但硬编码/指定用于构造函数中的单个参数的值?
我看到这可以通过属性来完成,使用类似于:
fixture.Build<MyObj>().With(x=x.Val,"hard coded value").Create()
生成的整数是IFixture.Create<int>()唯一的吗?
维基说这些数字是随机的,但它也告诉我们这一点
第一个数字是在[1,255]范围内生成的,因为这是一组对所有数值数据类型有效的值..NET中最小的数字数据类型是System.Byte,它适合此范围.
当使用前255个整数时,随后从范围[256,32767]中选择数字,这对应于System.Int16可用的剩余正数.
GitHub上的两件相关事情:
https://github.com/AutoFixture/AutoFixture/issues/2
https://github.com/AutoFixture/AutoFixture/pull/7
那些单元测试怎么样?
https://github.com/AutoFixture/AutoFixture/blob/master/Src/AutoFixtureUnitTest/GeneratorTest.cs#L33
[Theory, ClassData(typeof(CountTestCases))]
public void StronglyTypedEnumerationYieldsUniqueValues(int count)
{
// Fixture setup
var sut = new Generator<T>(new Fixture());
// Exercise system
var actual = sut.Take(count);
// Verify outcome
Assert.Equal(count, actual.Distinct().Count());
// Teardown
}
Run Code Online (Sandbox Code Playgroud)
https://github.com/AutoFixture/AutoFixture/blob/master/Src/AutoFixtureUnitTest/GeneratorTest.cs#L57
[Theory, ClassData(typeof(CountTestCases))]
public void WeaklyTypedEnumerationYieldsUniqueValues(int count)
{
// Fixture setup
IEnumerable sut = new Generator<T>(new Fixture());
// Exercise system
var actual = sut.OfType<T>().Take(count);
// Verify outcome
Assert.Equal(count, actual.Distinct().Count());
// Teardown
}
Run Code Online (Sandbox Code Playgroud)
我还没有找到一个声明,说明生成的数字是唯一的,只有那些可能暗示它的信息,但我可能错了.
有没有办法使用VS2010测试Web服务,就像用于测试网站一样?
对于一个网站,我可以创建一组WebTestRequest对象,模拟从测试中加载和解析网页然后,实现GetRequestEnumerator我可以将结果产生到负载测试,以便任何单个的执行时间和有效负载页面可以由测试运行器评估并发布在我的测试运行报告中.
我想对使用Web服务调用的测试执行相同的操作,以便每次调用Web服务时(调用它时都有一些逻辑,例如登录,获取安全令牌并将正确格式化的XML文档传递给Web服务方法)我可以将结果输出给我的测试运行器并进行评估.
有没有办法做或者我需要实现从WebTestItem抽象类继承的特定类?
关心马西莫
我有一个插件系统,允许用户选择他们想要创建的插件类型(基本上这为插件实例设置了配置).
他们从选择列表中选择插件类型.我正在使用StructureMap将IEnumerable注入我的MVC控制器,以便我可以访问要在选择列表中使用的FQ类型名称.
这工作正常但我不喜欢我必须创建所有已注册插件的实例只是为了在选择列表中显示它们的列表.
所以问题是,我可以访问在StructureMap 中注册的IPlugin类型吗?
我有一个Linq查询,它返回一个ordererd列表,它可以工作但是当排序一个布尔值时,它总是首先放置false项.
return from workers in db.Workers
orderby workers.active, workers.naam
select workers;
Run Code Online (Sandbox Code Playgroud)
有没有办法先订购真正的物品.
谢谢你的帮助
大卫
我知道这类问题有很多重复,但我想开一个新问题,因为我没有在所有其他问题中找到解释我想要的最佳方法.
我知道我可以通过以下方式恢复并保持历史:
git reset --soft c14809fa
Run Code Online (Sandbox Code Playgroud)
我想恢复development分支并将历史记录保存在不同的分支上.
如果我development在恢复提交之前将其签出到新分支 - 例如
git checkout -b beforeRevert
Run Code Online (Sandbox Code Playgroud)
比我将结账回到开发分支并进行启示(因为我想继续处理我已经恢复的提交数据)
另一个分支,beforeRevert分支,将保留将在某一天再次使用的"恢复前"的所有历史和数据,但不会包含在当前development分支中?或者development分支上的恢复会以某种方式影响beforeRevert分支?
我希望xml编码为:
<?xml version="1.0" encoding="windows-1252"?>
Run Code Online (Sandbox Code Playgroud)
像encoding="windows-1252"我编写这段代码一样生成编码.
var myns = OS.xmlns;
using (var stringWriter = new StringWriter())
{
var settings = new XmlWriterSettings
{
Encoding = Encoding.GetEncoding(1252),
OmitXmlDeclaration = false
};
using (var writer = XmlWriter.Create(stringWriter, settings))
{
var ns = new XmlSerializerNamespaces();
ns.Add(string.Empty, myns);
var xmlSerializer = new XmlSerializer(OS.GetType(), myns);
xmlSerializer.Serialize(writer, OS,ns);
}
xmlString= stringWriter.ToString();
}
Run Code Online (Sandbox Code Playgroud)
但我仍然没有得到我想要的编码我错过了什么?请指导我生成编码encoding="windows-1252"?.我需要在代码中更改什么?
我有一个包含多个Web应用程序项目的解决方案.在构建完所有项目之后,我需要运行一个MSBUILD脚本.
我以前做的是从一个现有项目调用脚本(通过<Target Name="AfterBuild">.csproj文件).但是,我必须确保使用最后构建的项目,如果构建顺序发生变化,我会得到意想不到的结果.
因此,我决定创建一个空的Web应用程序项目,并设置项目依赖项,使其始终构建最后,然后将MSBUILD脚本附加到此.
所以现在它总是在正确的时间运行,但是由于所谓的空项目正在构建,我得到了一个额外的(微小的)程序集.项目中没有代码文件(AssemblyInfo.cs除外),但始终生成程序集.
那么,是否有一种方法可以阻止正在构建的程序集,或者可能是一种将MSBUILD脚本作为一个整体附加到解决方案并完全避免这个虚拟项目的方法?
c# ×6
autofixture ×3
git ×2
.net ×1
git-branch ×1
git-reset ×1
git-svn ×1
gitignore ×1
linq ×1
msbuild ×1
sql-order-by ×1
structuremap ×1
svn ×1
svnignore ×1
testing ×1
web-services ×1