public void Four() { var original = new FourTestObject { AProperty = "foo", Values = new RouteValueDictionary { { "something", "lies here" } } }; try { var bytes = Serializer.Serialize(original); Assert.Fail("Serializing *should* fail"); } catch (ArgumentException e) { Assert.AreEqual("Type Tests.Issues+FourTestObject contains a System.Object, which cannot be sensibly serialized. Use a more specific type. (path to System.Object reference: Root.Values.<TValue>)", e.Message); } }