¿Cómo puedo reutilizar el paso dado de SpecFlow de manera más eficiente?
Me están faltando ideas…
Tengo este esquema de escenario:
Esquema de escenario: Se asigna un miembro a un ámbito dinámico
Dado que existe un ámbito dinámico de dispositivo con "<id>", "<nombre>", "<descripción>" y "<filtro>"
Cuando realizo una solicitud de asignación de miembro con "<ID de miembro>", "<nombre>", "<apellido>" y "<correo electrónico>"
Entonces la respuesta es "<código de estado>"
Y se añade un miembro con "<ID de miembro>", "<nombre>", "<apellido>" y "<correo electrónico>" al ámbito dinámico de dispositivo
Ejemplos:
| no | id | nombre | desc | filtro | ID de miembro | nombre | apellido | correo electrónico | código de estado |
| 1 | 01 | nombre | desc | filtro | ee749612 | primero | último | t1@mail.com | Creado |
Quiero poder reutilizar este esquema de escenario y ejecutarlo para un ámbito dinámico de personas. Algo así:
Dado que existe un ámbito dinámico de personas con "<id>", "<nombre>", "<descripción>" y "<filtro>"
El paso detrás del “Dado” para el ámbito dinámico de dispositivo se ve así:
[Dado(@"un ámbito dinámico de dispositivos con ""(.*)"", ""(.*)"", ""(.*)"" y ""(.*)"" existe")]
public void DadoQueExisteUnÁmbitoDinámicoDeDispositivoConYExiste(Guid id, string nombre, string descripción, string filtro)
{
_scopeId = _scenarioSettings.ScopesStorage.BuildTestDynamicDeviceScope(id, nombre, descripción, filtro);
}
¿Tienes alguna idea de cómo puedo mejorar esto sin copiar todo el escenario?
davy.ai
Una manera de reutilizar el esquema de escenario para el alcance dinámico de personas es crear un nuevo método de definición de paso para el paso Given con una expresión regular diferente. Este nuevo método de definición de paso puede tener la misma implementación que el paso Given para el alcance dinámico de dispositivos, pero con un nombre de método y tipos de parámetro diferentes.
Por ejemplo:
Luego, en el esquema de escenario, simplemente puede reemplazar el paso Given con la nueva definición de paso:
De esta manera, puede reutilizar el esquema de escenario sin tener que duplicar todo el escenario.</descripción>