How to evaluate the skills that students build while getting to the answer?
Have the students evaluate each other's work

This is focused on the specific example you gave of identifying components in a circuit, but I believe the same applies to most scenarios.

The problem as I understand, is that you are giving them tasks for creating circuits - but without a way of evaluating that they really understood what they did, other than whether the circuit works or not.

One option would be to create a number of circuits and have students draw up circuit diagrams based on what they physically see. While this would allow you to see how well they can identify the components - it will be an enormous amount of preparation for you.

Instead, I'd suggest you have the students make the circuits in one lab lesson. This gives them the initial opportunity to learn how to convert the diagrams into a working circuit and get a physical idea of how the components look and interact.

After this, redistribute all of the circuits to other students and have them evaluate their given circuit. This can include drawing up a circuit diagram as well as evaluating any problems they've found in the circuit or changes that should have been made. 

Ideally, you will be able to provide a selection of different circuits diagrams initially, so everybody will be creating something different from what they end up evaluating (e.g. ensure everybody who made circuit "A" evaluates a circuit "C" etc.)

As the circuits will be varying quality, it obviously would not be fair to use this for grading. But it will allow you to evaluate how well they are achieving the outcomes you set, in general. It will also push them to think more about what they are doing (i.e. avoiding pure memorisation) as they are being given potentially badly-made and faulty circuits by their peers.