Estoy tratando de cambiar mi unidad de prueba de ArcGIS, y comenzar a usar simulaciones (yo uso rinoceronte).
Cuando comencé a escribir las pruebas, me di cuenta de que tenía que empezar a burlarme de muchos objetos, y un montón de métodos para pasar una prueba.
Por ejemplo - mi controlador recibe por primera vez un RelationshipClass
(así que necesito derivadas La IWorkspace
y devuelto IRelationshipClass
), entonces también recibe una IFeature
(Un talón), y llama finalmente stubRelClass.GetRelatedObjects(stubFeature)
, para devolver un ISet
de otra IFeatures
.unidad prueba olor
¿Es normal tener que andar tantos objetos y métodos solo para que pase? También siento como si realmente tuviera que pasar por alto el código (sí, sé que debería haber escrito primero las pruebas, todavía estoy probando este), para descubrir qué es lo siguiente y qué debo devolver. .
También estoy teniendo problemas con las clases de com burla que implementan más de una interfaz. En el código de producción, los QI entre las interfaces. ¿Cómo puedo crear un simulacro que implemente ambas interfaces en tiempo de ejecución?
Sobre la introducción de un objeto que corta los niveles de profundidad - que "salvar" a mí de burlarse de algunos de los objetos más (ya que éste cubrirá objeto para ellos), pero todavía había necesidad de burlarse de la la misma cantidad de métodos, ¿verdad? ¿O me estoy equivocando? –
El objetivo no es "salvarte" de burlarse de más objetos. El punto es que la prueba intenta decirte que hay un concepto faltante, por eso es tan complicado. –