Cómo construir un probador de encargo "cama de clavos" para su electrónica de la impresora 3D (13 / 14 paso)

Paso 13: Software de Comprobador

Si no usas un tablero de RAMBo sin embargo, necesita adaptar el software a su Junta Directiva. El software fue recientemente reescrito desde cero para permitir que un puerto fácil en otras tablas. Conocimientos básicos de programación de Python es necesaria sin embargo.

El nuevo diseño permite un enfoque más modular, donde cada prueba está representado por un objeto único y cada tipo de prueba se aplica en su propia clase. Unas clases base están disponibles para atender la funcionalidad básica de los casos de prueba, mecanismo de registro y la prueba lógica.

Las pruebas de módulo contiene las clases base y módulos de prueba. Las clases base son:

  • TestCase: Esta es la clase base para un caso de prueba para una característica específica de la prueba
  • TestContext: Esta es la clase base para el contexto dado a las pruebas mientras que se están ejecutando
  • TestRunner: Esta es la clase base de la clase de corredor que se ejecutará cada prueba en la serie de pruebas.

Hay unas pruebas genéricas, como el TestGPIO en gpio.py y TestAnalog analog.py que a su vez tiene más específico probar las clases que se derivan de ellos como TestMosfets y TestEndstops que se derivan de TestGPIO y TestThermistors, TestVRefs y TestSupplyRails que se derivan de TestAnalog. Hay también algunas pruebas específicas como la ProgramFirmware que es un contenedor de prueba para avrdude y TestMotors que probar motores paso a paso y comprobar que todo funcionan correctamente.

Para implementar una nueva prueba, debe derivar de la clase TestCase y reemplazar los métodos _test y _verify . El método de _test necesita ejecutar la prueba con lo que está disponible en el objeto de contexto (más sobre esto más adelante) mientras que el método _verify establecer el 'self.status' a un valor en la enumeración de TestStatus .

El contexto que se pasa a los métodos _test y _verify es un objeto que deriva de TestContext, su propósito es pasar alrededor de información entre las pruebas que pueden ser utilizadas por los casos de prueba. Por ejemplo, la interfaz para acceder a la DUT está disponible en context.target mientras el controlador está disponible como context.controller. Además, mayoría de las pruebas requerirá acceso a campos específicos de la context.pinmappingdel objeto.

Usted tendrá que derivar una clase TestContext para proporcionar la información necesaria para los casos de prueba. Más específicamente, en la clase derivada, debe crear una instancia de un objeto self.pinmapping . Si usted necesita para encendido y apagado la alimentación antes y después de un examen por ejemplo, puede hacerlo reemplazando los métodos TestingStarted y TestingEnded .

Por último, sería necesario implementar una nueva clase de la tarjeta que se deriva de TestRunner. Este es simple, que basta definir una variable self.tests que contiene una lista de objetos TestCase y devolver el contexto creado a través de la propiedad de contexto .

Entonces puede crear el objeto TestRunner y llamar al método Run para ejecutar todas las pruebas, o puede dar una lista de pruebas específicas para ejecutar si lo desea.

Hay mucho más que puede decirse sobre el software, como fatal, necesario, _finally casos de prueba, o cómo configurar el sistema de registro para utilizar una base de datos o cómo obtener el Resumen de la ejecución de pruebas, o para desactivar las pruebas específicas, que cada estado medios de prueba, etc... Sin embargo, el código fuente es bastante sencillo y está bien documentado y puede descubrir un montón de cosas por leer el código.

Me voy con una maqueta de un GUI potencial para el software de prueba en la que la GUI puede ser generada dinámicamente desde cualquier instancia de TestRunner y que da un control de cada prueba para el usuario.

Artículos Relacionados

FÁCIL levantó jardín cama sobre ruedas para PATIO o DECK

FÁCIL levantó jardín cama sobre ruedas para PATIO o DECK

este es un tutorial para un 4'x 4' levantado de cama de jardín sobre ruedas para el uso en una terraza o patio.  Se puede hacer en un día por menos de 100 dólares.Este tutorial puede utilizarse para construir dos versiones de plantador camas de 4'x 4
Construir un dirigible no rígido de RC para menos de $13

Construir un dirigible no rígido de RC para menos de $13

uno de los temas en mis proyectos de dirigible no rígido de RC es construirlos más pequeños y más pequeños. Primero, porque me gustan las cosas pequeñas, sino también ahorrar en helio.Sin embargo, usando el engranaje RC ligero generalmente eleva el c
Construir Shocker electrónica más pequeña del mundo!

Construir Shocker electrónica más pequeña del mundo!

Este sorprendente pequeño shocker es muy pequeño y puede encontrarse casi en cualquier lugar y dar un golpe sorpresa a alguien! Puede funcionar por casi cualquier 1.5v baterías!Por lo tanto, en este instructable, le mostraré cómo hacer shockers que e
(Muelle 9 aire) el místico improbable (3D impresión pies y ponerlos en una cama de clavos)

(Muelle 9 aire) el místico improbable (3D impresión pies y ponerlos en una cama de clavos)

Se trata de un proyecto caprichoso Instructable impresión 3D. Es divertido.En el primer día de mi residencia de artista Pier 9 que caminé hasta mi escritorio para ver este objeto glorioso alza allí, hecho por anteriores aire Gabriel Kaprielian. Un pi
Construir su propio solo o Dual Kegerator toque para Brew casero barriles

Construir su propio solo o Dual Kegerator toque para Brew casero barriles

estas instrucciones junto con la información de compra es todo lo que necesitas para construir tu propio mini kegerator adecuado para vivienda una o dos keg(s) mini 5 galones, botellas de dióxido de carbono y todos los tubos.Cada página de instrucció
Cama inclinada ajustable para los que sufren de hernia de hiato

Cama inclinada ajustable para los que sufren de hernia de hiato

todos tenemos (en efecto) una válvula en la parte superior de nuestros estómagos, que ordinariamente se detiene nuestras comida y el estómago los ácidos volviendo por nuestros pasos. Nos voltee y lo mantiene todo.Sin embargo, para algunos de nosotros
Cómo construir un LEGO Shooter Indestructible camión

Cómo construir un LEGO Shooter Indestructible camión

Mi hermano y me gusta jugar el juego de video Indestructible en nuestro iPad. Es muy divertido. En el juego, conducir nuestros coches y los carros alrededor y tratar de destruir tanques, aerodeslizadores y otros vehículos con armas, cañones, láseres
200mm 425mm cama conversión para Impresora 3d

200mm 425mm cama conversión para Impresora 3d

Que siempre quisiste imprimir algo más grande¿que puede hacer tu impresora actual?Aquí es una opción de bajo costo para aumentar la longitud (eje Y)de la impresora!La conversión de cama larga convertirá un área de impresión 200 x 200 mm aárea de impr
Frambuesa con cam en comedero para pájaros de

Frambuesa con cam en comedero para pájaros de

En primer lugar, soy francés y me disculpo por mi mala Inglés.Antes para iniciar, dibujó un plan para mi pajarera para construirlo.En primer lugar, puede ver mi video en youtube aquí:https://youtu.be/S3MB3YABeRUDespués, decidí agregar una cámara para
Por encargo de barril refrigerador para Camping!!!!

Por encargo de barril refrigerador para Camping!!!!

En primer lugar, gracias por comprobar hacia fuera mi Instructable! He creado una entrada en el de hacer un concurso de caja patrocinado por Rockler! Si te gusta este Instructable, por favor, VOTE por mi! Me encantaría ganar este concurso!El año pasa
PCB cama de fresado para Modela MDX-20

PCB cama de fresado para Modela MDX-20

La modela MDX-20 es muy difundido en muchos fablabs tantos y compacto CNC para distintos usos...Esta máquina se utiliza para hacer PCB de fabricación digital. El problema es que mayoría de la gente está utilizando la cinta de doble cara para fijar el
Cama de reemplazo para el cubo 2

Cama de reemplazo para el cubo 2

Después de romper la cama de mi cubo 2 impresora en la Burlington Mini Maker Faire, busqué el costo de un reemplazo. Para mi sorpresa, es $100 por un pedazo de vidrio con un lingote de acero pegado a él!¿Así lo próximo paso a seguir? Compre un pedazo
Debajo de la cama de almacenamiento para el perezoso y una cama de los

Debajo de la cama de almacenamiento para el perezoso y una cama de los

este almacenaje underbed es para una cama de conjunto.  "Almacenamiento" para un colchón de invitado es para cualquier persona con un colchón doble/reina/rey.Básicamente queríamos comprar una cama Brimnes de Ikea, y después de un año de ummming
Construir Shocker electrónica más pequeña del mundo! versión 2.5

Construir Shocker electrónica más pequeña del mundo! versión 2.5

es bueno saber si el pequeño shocker está encendido o no, mediante la adición de un maravilloso invento llamado el "LED", por lo que corre el riesgo de no conseguir mordido por el malhechor otra vez!Descargo de responsabilidad: Este escándalo pu