var mockedEntry = Mock.Create<ObjectStateEntry>();
TestCase 'Foo'
failed: System.TypeLoadException : Method 'set_EntityKey' in type 'ObjectStateEntry_Proxy_1f0c098e8cf2440f9eb3e6c8fa6abb46' from assembly 'Telerik.JustMock, Version=1.0.0.0, Culture=neutral, PublicKeyToken=8b221631f7271365' does not have an implementation.
at System.Reflection.Emit.TypeBuilder.TermCreateClass(RuntimeModule module, Int32 tk, ObjectHandleOnStack type)
at System.Reflection.Emit.TypeBuilder.CreateTypeNoLock()
at System.Reflection.Emit.TypeBuilder.CreateType()
c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\DynamicProxy\TypeEmitter.cs(287,0): at ..()
c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\DynamicProxy\Proxy.cs(87,0): at Telerik.JustMock.DynamicProxy.Proxy.()
c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\DynamicProxy\ProxyFactory.cs(78,0): at Telerik.JustMock.DynamicProxy.ProxyFactory.Create()
c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\DynamicProxy\Fluent\FluentProxy.cs(72,0): at Telerik.JustMock.DynamicProxy.Fluent.FluentProxy.NewInstance()
c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\DynamicProxy\Proxy.cs(81,0): at Telerik.JustMock.DynamicProxy.Proxy.Create(Type target, Action`1 action)
c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\MockObject.cs(149,0): at ..(Type target, Container container, Object[] args)
c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\MockObject.cs(123,0): at ..(Type target, Container container, Object[] args, Boolean profilerEnabled)
c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\MockObject.cs(97,0): at ..(Type target, Behavior behavior, Boolean static, Object[] args)
c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\MockObject.cs(44,0): at ..get_Instance()
c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\Mock.cs(485,0): at Telerik.JustMock.Mock.Create(Type target, Behavior mode, Object[] args)
c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\Mock.cs(427,0): at Telerik.JustMock.Mock.Create(Type target, Object[] args)
c:\B\Basilisk\Basilisk CI Build\Sources\CodeBase\Telerik.JustMock\Mock.cs(416,0): at Telerik.JustMock.Mock.Create[T]()
ExtensionMethods\ObjectStateEntryExtensionsTests.cs(39,0): at EG.Framework.EntityFramework.Tests.ExtensionMethods.ObjectStateEntryExtensionsTests.Does_UpdateAllEntityAuditFieldsAndCancelDeletes_Properly_Cancel_Deletes()
0 passed, 1 failed, 0 skipped, took 1.00 seconds (NUnit 2.5.5).
// Arrange
var mockedEntry = Mock.Create<ObjectStateEntry>();
var entity =
new
ObjectWithAuditFields();
Mock.Arrange(() => mockedEntry.State).Returns(EntityState.Deleted);
Mock.Arrange(() => mockedEntry.Entity).Returns(entity);
Mock.Arrange(() => mockedEntry.EntityKey).IgnoreArguments();
Mock.Arrange(() => mockedEntry.ChangeState(EntityState.Modified))
.DoInstead(() => Mock.Arrange(() => mockedEntry.State).Returns(EntityState.Modified));
// Act
//mockedEntry.UpdateAllEntityAuditFieldsAndCancelDeletes(44);
mockedEntry.ChangeState(EntityState.Modified);
// Assert
Assert.IsTrue(mockedEntry.State == EntityState.Modified);
[TestClass, MockClass]
public class UnitTest1
Mock.Partial<
Environment
>().For<
string
>((x) => Environment.GetFolderPath(Arg.IsAny<
Environment.SpecialFolder
>()));
public void Save()
{
string serializedTradeObjects = string.Empty;
if (_reviewedTradeContext.HasChanges) // RIA.Context
{
if (_reviewedTradeContext.EntityContainer.GetChanges().ModifiedEntities.Count > 0)
{
this.IsBusy = true;
var modifications = _reviewedTradeContext.EntityContainer.GetChanges().ModifiedEntities;
List<Trade> tradeList = new List<Trade>();
foreach (Entity trade in modifications)
{
tradeList.Add((
Trade)trade);
}
serializedTradeObjects = tradeList.Serialize();
}
InvokeOperation<string> reviewTradesInvokeOperation = _reviewedTradeContext.UploadTrades(serializedTradeObjects, String.Empty, String.Empty);
reviewTradesInvokeOperation.Completed +=
new EventHandler(reviewTradesInvokeOperation_Completed);
}
}
Can some one provide me the Unit Test case in Jock Mock
Cheers,
Suman
the ProcessFilterResult checks some dates and a flag on the target, all of which pass. It uses some regex to find matches in the MailMessage.BodyText, which also match the asserted method call. Stepping through the code, I watch the result and data proxies match up to the Mocked objects and then watch the target._dal.RecordBouncedEmail() method call being called, but when I get back to the test code I still get the following exception. Telerik.JustMock.MockAssertionException was unhandled by user code
[TestMethod]
public
void
ProcessFilterResult_MailMessageDate_AfterLatestDBDate_ProcessesMessage_Test()
{
BounceHandler_Accessor target =
new
BounceHandler_Accessor();
var data = Mock.Create<IDataAccess>();
target._dal = data;
Mock.Arrange( () => data.GetLatestEmailDate() ).Returns( DateTime.Now.AddDays( -7 ) );
target._recordToDatabase =
true
;
var result = Mock.Create<BounceFilterResult>();
Cforge.Net.Mail.MailMessage msg =
new
Cforge.Net.Mail.MailMessage();
msg.Date =
new
Cforge.Net.Mime.Headers.MailDateTime(DateTime.Now);
msg.BodyText = @"X-ETC-MailingID: 00001
X-ETC-MailflowID: 10000";
Mock.Arrange( () => result.MailMessage ).Returns( msg );
target.ProcessFilterResult( result );
Mock.Assert( () => data.RecordBouncedEmail( result,
"00001"
,
"10000"
), Occurs.Once() );
}
Message=Expected call on the mock should be once, but it was called 0 time(s).
Source=Telerik.JustMock Can anyone give me some idea what the problem might be?