or
[DllImport(
"advapi32.dll"
, SetLastError =
true
)]
>
private
static
extern
bool
LogonUser(
string
lpszUsername,
string
lpszDomain,
string
lpszPassword,
int
dwLogonType,
int
dwLogonProvider,
ref
IntPtr phToken);
public
DbEntityEntry<TEntityType> Entry<TEntityType>(TEntityType Entity) where TEntityType :
class
{
if
(_entries.ContainsKey(Entity))
{
return
_entries[Entity]
as
DbEntityEntry<TEntityType>;
}
else
{
var mockEntry = Mock.Create<DbEntityEntry<TEntityType>>();
Mock.Arrange<TEntityType>(() => mockEntry.Entity).Returns(Entity
as
TEntityType);
_entries.Add(Entity, mockEntry);
return
mockEntry;
}
}
at Telerik.JustMock.DynamicProxy.MethodInvocation.Continue() in c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\DynamicProxy\MethodInvocation.cs:line 159
at Telerik.JustMock.Interceptors.ProxyInterceptor.Intercept(IInvocation invocation) in c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\Interceptors\ProxyInterceptor.cs:line 31
at DbEntityEntry`1_Proxy_d3528d76a583445191d2089b7dd0b53f._GetHashCode(MethodInvocation , Int32 , Boolean )
at DbEntityEntry`1_Proxy_d3528d76a583445191d2089b7dd0b53f.GetHashCode()
at Telerik.JustMock.Weaver.ContainerContext.GetKey(Type targetType, MethodInfo methodInfo, Object target) in c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\Weaver\ContainerContext.cs:line 134
at Telerik.JustMock.Weaver.ContainerContext.Get(Type targetType, MethodInfo methodInfo, Object target) in c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\Weaver\ContainerContext.cs:line 91
at Telerik.JustMock.Weaver.ContainerContext.Get(MethodInfo mi, Object target) in c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\Weaver\ContainerContext.cs:line 77
at Telerik.JustMock.Weaver.Interceptors.WeaverInterceptor.OnInvocation(IInvocation invocation) in c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\Weaver\Interceptors\WeaverInterceptor.cs:line 97
at Telerik.JustMock.Weaver.Interceptors.WeaverInterceptor.Telerik.JustMock.Weaver.Interceptors.Abstraction.IWeaverInterceptor.Intercept(IInvocation invocation) in c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\Weaver\Interceptors\WeaverInterceptor.cs:line 44
at Telerik.JustMock.MockContext`1.SetupMock(Object obj, Type mockTarget, MethodInfo method, Expression expression) in c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\MockContext.cs:line 109
at Telerik.JustMock.MockContext`1.SetupMock(Expression`1 expression) in c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\MockContext.cs:line 26
at Telerik.JustMock.Mock.<>c__DisplayClass1`1.<
Arrange
>b__0(MockContext`1 x) in c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\Mock.cs:line 74
at Telerik.JustMock.MockContext.Setup[TDelgate,TReturn](Instruction instruction, Func2`2 function) in c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\MockContext.cs:line 238
at Telerik.JustMock.Mock.Arrange[TResult](Expression`1 expression) in c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\Mock.cs:line 72
...
Mock.ArrangeSet(() => mockVirtualEntity.EffectiveFrom = DateTime.Now).IgnoreArguments().OccursNever();
I'm trying to mock out adding a folder to a SPList, using the code below:
SPWeb web = Mock.Create<SPWeb>();
SPListCollection lists = Mock.Create<SPListCollection>();
SPList list = Mock.Create<SPList>();
SPListItemCollection listItems = Mock.Create<SPListItemCollection>();
SPListItem li = Mock.Create<SPListItem>();
Mock.Arrange(() => web.Lists).Returns(lists);
Mock.Arrange(() => lists[Arg.AnyString]).Returns(list);
Mock.Arrange(() => list.Items).Returns(listItems);
Mock.Arrange(() => list.Folders).Returns(listItems);
Mock.Arrange(() => li.Web).Returns(web);
li = list.Items.Add(
""
,SPFileSystemObjectType.Folder,
"Folder One"
);
li.Update();
System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.SharePoint.SPListItem.get_Web()
at Microsoft.SharePoint.SPListItem.UpdateInternal(Boolean bSystem, Boolean bPreserveItemVersion,
Guid newGuidOnAdd, Boolean bMigration, Boolean bPublish,
Boolean bNoVersion, Boolean bCheckOut, Boolean bCheckin, Boolean suppressAfterEvents)
at Microsoft.SharePoint.SPListItem.Update()
at CreateFoldersInSpList.Tests.TestSuite.GetSpList()
in C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\
CreateFoldersInSpList\CreateFoldersInSpList.Tests\TestSuite.cs:line 57
public static void SetHttpMethodResult(this HttpRequestBase request, string httpMethod) |
{ |
Mock.Get(request) |
.Expect(req => req.HttpMethod) |
.Returns(httpMethod); |
} |
public static void SetHttpMethodResult(this HttpRequestBase request, string httpMethod) |
{ |
var test = Mock.Create<HttpRequestBase>(); |
Mock.Arrange(() => test).Returns(request); |
Mock.Arrange(() => test.HttpMethod).Returns(httpMethod); |
} |
//Moq: |
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 Mock<httpserverutilitybase>(); |
context.Expect(ctx => ctx.Request).Returns(request.Object); |
context.Expect(ctx => ctx.Response).Returns(response.Object); |
context.Expect(ctx => ctx.Session).Returns(session.Object); |
context.Expect(ctx => ctx.Server).Returns(server.Object); |
return context.Object; |
} |
//my attempt to convert to JustMock: |
public static HttpContextBase FakeHttpContext() |
{ |
var context = Mock.Create<HttpContextBase>(); |
var request = Mock.Create<HttpRequestBase>(); |
var response = Mock.Create<HttpResponseBase>(); |
var session = Mock.Create<HttpSessionStateBase>(); |
var server = Mock.Create<HttpServerUtilityBase>(); |
Mock.Arrange(() => context.Request).Returns(request); |
Mock.Arrange(() => context.Response).Returns(response); |
Mock.Arrange(() => context.Session).Returns(session); |
Mock.Arrange(() => context.Server).Returns(server); |
return context; |
} |
public
class
Foo
{
public
Foo()
{
}
protected
virtual
void
MethodToMock()
{
}
protected
virtual
void
MethodToTest()
{
}
}
public
class
Bar : Foo
{
public
Bar()
{
}
protected
override
void
MethodToTest()
{
MethodToMock();
}
}
[TestMethod]
public
void
BarTest()
{
var mock = Mock.Create<Bar>(Behavior.CallOriginal);
Mock.NonPublic.Arrange(mock,
"MethodToMock"
).DoNothing();
// Test MethodToTest here
}
IService
service =
Mock.Create<
IService
>();
Mock.Arrange(()=>service.DoSomething()).MustBeCalled();